如何使用linq进行左连接和> =连接条件

时间:2010-11-26 23:40:15

标签: sql linq linq-to-sql

linq只支持内连接,如何使用linq查询进行左连接。 linq支持仅使用'equals'关键字加入,但是可以使用其他连接条件吗?

1 个答案:

答案 0 :(得分:2)

像这样:

from tableA in dataContext.TableA
from tableB in dataContext.TableB.Where(b => b.Id == a.TableBId).DefaultIfEmpty() 
select new { tableA, tableB };

然后你可以改变Where子句中的条件以使用任何运算符 在连接运算符中使用除equals之外的任何其他内容是不可能的。

还有其他方法可以做到,例如:http://www.hookedonlinq.com/OuterJoinSample.ashx