给定:
一张名为 TABLE_1
的表,具有以下列:
ID
ColumnA
ColumnB
ColumnC
我有一个 SQL 查询,在该查询中,TABLE_1
根据 ColumnA
、ColumnB
和 ColumnC
进行两次自连接。查询可能看起来像这样:
Select t1.ID, t2.ID, t3.ID
From TABLE_1 t1
Left Join TABLE_1 t2 On
t1.ColumnA = t2.ColumnA
And t1.ColumnB = t2.ColumnB
And t1.ColumnC = t2.ColumnC
Left Join TABLE_1 t3 On
t2.ColumnA = t3.ColumnA
And t2.ColumnB = t3.ColumnB
And t2.ColumnC = t3.ColumnC
... and query continues on etc.
问题:
我需要将这个查询重写成LINQ语句。我已经尝试了以下代码:
var query =
from t1 in myTABLE1List // List<TABLE_1>
join t2 in myTABLE1List
on t1.ColumnA equals t2.ColumnA
&& t1.ColumnB equals t2.ColumnA
// ... and at this point intellisense is making it very obvious
// I am doing something wrong :(
我该如何在LINQ中编写查询?我做错了什么吗?
join T2 in db.tbl2 on new { T1.firstName, T1.secondName } equals new { T2.colFirst, T2.colSecond }
,这个示例也无法编译通过。但是,如果您将其更改为以下内容,则可以编译通过join T2 in db.tbl2 on new { N1 = T1.firstName, N2 = T1.secondName } equals new { N1 = T2.colFirst, N2 = T2.colSecond }
。 - user2023861