在Linq to SQL中的多个列上进行连接有点不同。
var query = from t1 in myTABLE1List // List<TABLE_1> join t2 in myTABLE1List on new { t1.ColumnA, t1.ColumnB } equals new { t2.ColumnA, t2.ColumnB } ...
您必须利用匿名类型,并为要比较的多个列组成一个类型。
乍一看这似乎很令人困惑,但是一旦您熟悉了由表达式构成SQL的方式,它将变得更加有意义,在幕后,这将生成您要查找的联接类型。
编辑 添加基于注释的第二个连接的示例。
var query = from t1 in myTABLE1List // List<TABLE_1> join t2 in myTABLE1List on new { A = t1.ColumnA, B = t1.ColumnB } equals new { A = t2.ColumnA, B = t2.ColumnB } join t3 in myTABLE1List on new { A = t2.ColumnA, B = t2.ColumnB } equals new { A = t3.ColumnA, B = t3.ColumnB } ...
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)