c# - LInq 查询返回值特定字段
问题描述
我有 2 个表如下:
猫桌
- 猫码
- 猫名
狗桌
- 狗代码
- 猫码
- 名称代码
因此,我想写一个查询,如果在 DogTable 表中“<strong>CatCode”字段中的值与 CatTable.CatCode 和字段“相同”,则返回表CatTable PLUS 中 存在的 所有数据的列表<strong>NameCode”为空,则应在“<strong>DogTable.CatCode”字段中返回值“ false ”
例子
var query = from c in CatTable
from d in DogTable
where c.CatCode == d.CatCode
select new { c.CatCode, c.CatName, d.CatCode }
你对此有什么建议吗?
解决方案
一个简单的版本是使用Any
返回你想要在最后一个字段上的逻辑的布尔值
var query = CatTable.Select(ct => new
{
CatCode = ct.CatCode,
CatName = ct.CatName,
DogCatCode = !DogTable.Any(dt => dt.CatCode == ct.CatCode && dt.NameCode == "")
});
推荐阅读
- r - 如何在未在参数中矢量化的自定义函数中使用 lapply 函数而不是 for 循环
- ios - 与添加到子视图的 UITableView 一起使用时,prefersLargeTitles 无法按预期工作
- apache - 浏览器不缓存静态文件
- excel - 来自用户表单问题的全局变量
- css - 使菜单居中的正确方法是什么?
- r - 成对距离两个矩阵 R
- swift - 将 ecobee Alamofire 请求转换为使用 URLSession
- python - 安装 Google Cloud 后尝试重新启动 shell 时出现意外的文件结束错误
- java - 从 json 响应中删除 unicode 字符串和空格
- apache-spark - 您可以从同一个增量表中流式传输和批处理吗?