首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Linq Left Join条件,该怎么处理

2013-11-01 
Linq Left Join条件本帖最后由 q107770540 于 2013-10-31 14:17:31 编辑如下SQL的Linq该咋个写?select A.*

Linq Left Join条件
本帖最后由 q107770540 于 2013-10-31 14:17:31 编辑 如下SQL的Linq该咋个写?

select A.* from A left join B on (A.c1=B.c1 and B.c2='N')
where A.c3>9

[解决办法]
var query= from a in A.Where(x=>x.c3>9)
           join b in B.Where(y=>y.c2=="N")
           on a.c1 equals b.c1 into lg
           from b in lg.DefaultIfEmpty()
           select a;

[解决办法]
关键是 XX.DefaultIfEmpty()

并且要进行异常处理如果XX中的元素是NULL的情况,需要:

from r in o.DefaultIfEmpty()
select new { 
ID=r.ID, 
Name=(r==null)?"":r.Name
}

热点排行