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 };
若要再增加表,可以照此方法类推。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步