Linq连表之左连接


直接上代码了:

1.下部分代码是两个表左连接查询:

var list = from a in db.tableInfos1
           join b in db.tableInfos2 on a.ID equals b.Id into bb
           from bbdata in bb.DefaultIfEmpty()
           select new
           {
               info1=a,
               info2 = bbdata ,
           };

说明:新生成的列表list有两个属性info1,info2。其中info1对应的 tableInfos1 表,info2对应的 tableInfos2 表。

2.若要实现三个表左连接查询:

var list = from a in db.tableInfos1
           join b in db.tableInfo2 on a.ID equals b.Id into bb
           from bbdata in bb.DefaultIfEmpty()
           join c in db.tableInfos3 on a.EID equals c.Id into cc
           from ccdata in cc.DefaultIfEmpty()
           select new
           {
                info1=a,
                info2 = bbdata ,
                info3 = ccdata
           };

若要再增加表,可以照此方法类推。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM