linq连接3个表或条件

Gui*_*ini 4 .net c# sql linq join

我需要在LINQ中创建一个带有3个表和OR条件的语句.

我的函数接收一个整数,让我们调用它intZ.我有3个表:tableA,tableBtableC.

tableA有列int1,int2intB.intB与...有关tableB.

问题: int1int2tableA可能是intZ,它必须搭配一个tableC记录.

我需要OR条件,但我不知道在哪里放置它.它是否在where子句中?还是在equals子句中?

目前,我知道如何加入3张桌子,但条件是杀了我.

在linq中创建语句的两种方法有什么区别?是否有性能影响?

编辑:好的,现在我觉得它更清楚了.intZ已经与有关intCtableC,而且这个数字可能是int1int2tableA.

在此输入图像描述

Mag*_*nus 11

只需将其添加到Where.在Linq2Sql中,这将被转换为tableB上的内连接(带或)

from a in tableA
from b in tableB.Where(x => x.A == a.A || x.B == a.B)
select new { a, b };
Run Code Online (Sandbox Code Playgroud)