linq lambda left join

//var list = table1.Join(table2, ee => ee.Id, ff => ff.table1_Id, (ee, ff) => new { ee, ff }).DefaultIfEmpty();   //只能实现inner join
 
left join例子:
 
TUsers.GroupJoin(  
TUserInfo,   
u => u.UserID,   
ui => ui.UserID,   
(u, ui) => new { u, ui }).Select(o => o)   
 
right join 将TUsers和TUserInfo换个位置.
 
 
http://stackoverflow.com/questions/584820/how-do-you-perform-a-left-outer-join-using-linq-extension-methods?noredirect=1
var qry = Foo.GroupJoin(
          Bar, 
          foo => foo.Foo_Id,
          bar => bar.Foo_Id,
          (x,y) => new { Foo = x, Bars = y })
    .SelectMany(
          x => x.Bars.DefaultIfEmpty(),
          (x,y) => new { Foo=x.Foo, Bar=y});
 
From:http://www.cnblogs.com/xuejianxiyang/p/6149964.html
原文地址:https://www.cnblogs.com/xuejianxiyang/p/6149964.html