第一种 linq:
IQueryable query1 = XXXX;
IQueryable query2 = XXXX;
var query = from a in query1 join b in query2 on a.id equals b.aid
into c from c in c.DefaultIfEmpty()
select new
{
xxx=a.id,
xxx=c.name
};
第二种 lambda :
IQueryable query1 = XXXX;
IQueryable query2 = XXXX;
query1.GroupJoin(query2,a=>a.id,b=>b.aid,(a,d)=>new
{
query1=a,
query2=b
}).SelectMany(ab=>ab.DefaultIfEmpty(),(x,y)=>
{
id=x.query1.id,//x.ab是匿名类型new{query1=a,query2=b}
name=y.name
})