LINQ左外连接
来源:互联网 发布:在笔记本电脑下载软件 编辑:程序博客网 时间:2024/05/16 13:00
左连接或左外连接:包含左边的表的所有行,如果右边表中某行没有匹配,该行内容为空NULL。
SQL语句select * from dbo.Project left join dbo.Voice on (dbo.Project.voiceID=dbo.Voice.ID)
看一下网上的LINQ语句例子:左连接
var userInfo=from s in db.Project
join c in db.Voice on s.voiceID equals c.ID into ProjectV
from pv in ProjectV.DefaultEmpty() //???
select new {s.Name,s.bak,pv.NAME,s.ID};
我实在是不知道pv代表的什么意思?
再来对比一下例子。没有左外连接
list = (from u in dbcontext.t_announce join a in dbcontext.t_user on u.userID equals a.userID join b in dbcontext.t_type on u.typeID equals b.type_ID join u2 in dbcontext.t_user on u.memberID equals u2.userID join u3 in dbcontext.t_user on u.operateID equals u3.userID where (u.departmentID == announce.departmentID && u.typeID == announce.typeID) orderby u.date descending select new GainViewModel() { content = b.type_Name, date = u.date, usernamea = a.userName, states = u.announceType, dayGetID = u.announceID, score = u.score, shenqingren=u2.userName, userNamec = u3.userName //审批人 }).ToList();
有左外连接
list = (from u in dbcontext.t_announce join a in dbcontext.t_user on u.userID equals a.userID join b in dbcontext.t_type on u.typeID equals b.type_ID join u2 in dbcontext.t_user on u.memberID equals u2.userID join u3 in dbcontext.t_user on u.operateID equals u3.userID into JoinedEmpDept from u3 in JoinedEmpDept.DefaultIfEmpty() where (u.departmentID == announce.departmentID && u.typeID == announce.typeID) orderby u.date descending select new GainViewModel() { content = b.type_Name, date = u.date, usernamea = a.userName, states = u.announceType, dayGetID = u.announceID, score = u.score, shenqingren=u2.userName, userNamec = u3.userName //审批人 }).ToList();关键在这
join u3 in dbcontext.t_user on u.operateID equals u3.userID into JoinedEmpDept from u3 in JoinedEmpDept.DefaultIfEmpty()
效果
阅读全文
1 0
- LINQ左外连接
- Linq to EF 内连接和左外连接
- 关于linq中的左连接
- Linq 左连接 left join
- Linq 左连接 left join
- Linq 左连接 右连接 内连接
- Linq 实现左连接,右连接
- Linq 实现左连接,右连接
- linq 左连接右连接总结
- linq to Entity 左连接问题
- 【.Net码农】 Linq 左连接 left join
- LINQ使用连接(1、组连接 2、内连接 3、左外连接 4、交叉连接)
- LINQ使用连接(1、组连接 2、内连接 3、左外连接 4、交叉连接)
- LINQ的左连接、右连接、内连接
- LINQ的左连接、右连接、内连接
- LINQ的左连接、右连接、内连接
- LINQ的左连接、右连接、内连接
- LINQ实现左连接及多条件连接方法
- python内置函数
- JDK源码学习之集合HashMap、Hashtable、WeakHashMap比较
- YUV与RGB格式转换(一)
- 红黑树
- 邻接矩阵的图结构
- LINQ左外连接
- 从零开始学习OpenCL开发(六)深入API
- 实型数据的输入输出。如何保留x位小数?如何四舍五入?数据类型转换?
- 第七周 5 -排队看病模拟
- python安装pygame无法找到SDL.h文件
- 第一篇:JAVA语言基础(第二章 语言基本语法、第三章 数组、第四章、程序流程控制语句)
- pyside
- 从零开始学习OpenCL开发(七)深入API
- 不同包下Fragment问题