linq只支持内连接,如何使用linq查询进行左连接。 linq支持仅使用'equals'关键字加入,但是可以使用其他连接条件吗?
答案 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