我需要在 LINQ 中创建一个包含 3 个表和 OR 条件的语句。
我的函数接收一个整数,让我们调用它intZ
。我有3张桌子:tableA
, tableB
and tableC
.
tableA
有列int1
, int2
and intB
. intB
与tableB
.
problem: int1
or int2
of tableA
can be intZ
它必须与一个匹配tableC
记录。
我需要一个 OR 条件,但我不知道该把它放在哪里。它会出现在 where 子句中吗?或者在 equals 子句中?
目前,我知道如何连接 3 个表,但条件让我丧命。
在 linq 中创建语句的两种方法有什么区别?对性能有影响吗?
编辑:好的,现在我想更清楚了。intZ
必须与intC
from tableC
,这个数字可以是int1
or int2
of tableA
.
只需将其添加到Where
。在 Linq2Sql 中,这将被转换为 tableB 上的内部联接(使用 or)
from a in tableA
from b in tableB.Where(x => x.A == a.A || x.B == a.B)
select new { a, b };
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)