代码之家  ›  专栏  ›  技术社区  ›  Ali Tarhini

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

  •  0
  • Ali Tarhini  · 技术社区  · 14 年前

    linq只支持内部连接,如何使用linq查询进行左连接。 此外,linq只支持使用“equals”关键字进行连接,但是否可以使用其他连接条件?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Richard Anthony Hein    14 年前

    这样地:

    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