码迷,mamicode.com
首页 > 其他好文 > 详细

Linq 三表 left join 的实现

时间:2019-03-11 13:22:24      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:人工智   als   view   htm   readline   .net   实现   new   rom   

分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!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+‘\t‘+list[i].jname+‘\t‘+list[i].cname); //字段为null不跑异常
                //Console.WriteLine(list[i].u1.name+‘\t‘+list[i].x1.jname+‘\t‘+list[i].v1.cname+"\r\n"); //对象x1 v1 有可能为null 抛异常
            }
                Console.ReadLine();

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net

Linq 三表 left join 的实现

标签:人工智   als   view   htm   readline   .net   实现   new   rom   

原文地址:https://www.cnblogs.com/sjwudhwhhw/p/10509588.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!