我有3张桌子A,b,C
表A与表B具有1-M关系,与表C具有1-1关系。
“表A”有三个布尔属性a1Completed,a2Completed,a3Completed。
“表B”还有三个布尔属性b1Completed,b2Completed,b3Completed。
“表C”有2个布尔属性c1.Completed和C2Completed。
我想编写LINQ查询,在检查这3个表中的所有布尔属性后返回true或false。 如果所有布尔属性(在所有表中)都为true,则返回true,否则返回false。表A和表A C将始终有一条记录,但表B可能有超过1条记录。
我写了如下查询。
var isTrue = (From a in db.A
.join b in db.B on a.id equals b.jId
.join c in db.C on a.id equals c.jId
where (a.Id == '12345')
select a.a1Completed
&& a.a2Completed
&& a.a3Completed
&& b.b1Completed
&& b.b2Completed
&& b.b3Completed
&& c.C1Completed
&& c.C2Completed
&& c.C3Completed).Any();
当表B只有一条记录时(表A和C各有一条记录),此查询正常工作。 当Tablw B有多个记录时,它不起作用。
请提示吗?