【发布时间】:2018-06-08 10:45:00
【问题描述】:
我有 2 个表如下:
猫桌
- 分类代码
- 猫名
狗桌
- 狗码
- 分类代码
- 姓名代码
所以我想写一个查询,返回表中所有数据的列表 CatTable 另外,如果在 DogTable 表中,“CatCode”字段中的值与 CatTable.CatCode 和“NameCode”字段相同”为空,则应在“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 }
您对此有什么建议吗?
【问题讨论】:
-
你试过什么?狗/猫示例对于理解您的用例并不是特别有帮助。
then should return a value "false" in the field “DogTable.CatCode”根据您之前的描述,CatCode不是布尔值,所以您在这里问的内容没有意义。即使您的意思是字符串“false”,这也是一种糟糕的方法(并且具有XY problem 或字符串类型方法的所有特征。)。 -
尝试类似:
new { CatCode = c.CatCode == d.CatCode && (d.NameCode == null || d.NameCode == "") },您将获得一个名为CatCode的 bool 属性,并且您可以像已经完成的那样选择您想要的其他属性。这是我在知识有限的情况下所能提供的最好的,不是 100% 清楚你想要什么,而且不知道你正在使用的数据类型也无济于事