Linq 三表 left join 的实现
Posted sjwudhwhhw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linq 三表 left join 的实现相关的知识,希望对你有一定的参考价值。
分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net
目的实现:select id,name,jname,cname from userinfo u left join job j on u.job=j.jid left join city c on u.city=c.cid 多表left join
var list = (from u in dc.userinfos
join j in dc.jobs on u.job equals j.jid into
j_join
from x in j_join.DefaultIfEmpty()
join c in dc.cities on u.city equals c.cid into c_join
from v in c_join.DefaultIfEmpty()
select new
{
id=u.id,
name=u.name,
jname=x.jname,
cname=v.cname,
/*u1=u,x1=x,v1=v*///不要用对象的方式 因为对象可能为null那么对象.属性就会抛异常
}).ToList();
for (var i = 0; i < list.Count(); i++)
{
Console.WriteLine(list[i].name+‘ ‘+list[i].jname+‘ ‘+list[i].cname); //字段为null不跑异常
//Console.WriteLine(list[i].u1.name+‘ ‘+list[i].x1.jname+‘ ‘+list[i].v1.cname+"
"); //对象x1 v1 有可能为null 抛异常
}
Console.ReadLine();
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net
以上是关于Linq 三表 left join 的实现的主要内容,如果未能解决你的问题,请参考以下文章
MySql的join(连接)查询 (三表 left join 写法)
LINQ的左连接右连接内连接和Lamda表达式实现Left join
linq left join ,inner join ,crossjoin
如何使用 Entity Framework Core 2.0 上的 lambda 语法在 LINQ 中实现 LEFT OUTER JOIN?