LINQ加入多个领域

时间:2011-12-14 14:29:37

标签: c# linq entity-framework lambda linq-to-entities

使用Lambda表达式在L2E中等效的以下T-SQL查询是什么?

Select * from a INNER JOIN b on a.Foo = b.Foo OR a.Foo = b.Bar  

我想在a.Foo等于b.Foob.Bar

时加入a和b

感谢。

1 个答案:

答案 0 :(得分:8)

您不能在LINQ中使用实际的join子句进行“或”样式连接。 LINQ中的所有连接子句都是equijoins。你最接近的是where子句:

var query = from a in A
            from b in B
            where a.Foo == b.Foo || a.Foo == b.Bar
            select new { a, b };