首页 > 其他 > 详细

Linq实现左连接、右连接

时间:2019-03-14 16:30:50      阅读:167      评论:0      收藏:0      [点我收藏+]
--一本错误的记录
insert into Book values(‘错误时怎样练成的‘,111)
 
--左连接
select s.name,b.name from student as s
left join Book as b on s.id=b.studentid
 
--右连接
select s.name,b.name from student as s
right join Book as b on s.id=b.studentid
 
 
要用Linq实现左连接,写法如下     
DataClasses1DataContext db = new DataClasses1DataContext();
            var leftJoinSql = from student in db.Student
                              join book in db.Book on student.ID equals book.StudentID into temp
                              from tt in temp.DefaultIfEmpty()
                              select new
                              {
                                   sname= student.Name,
                                   bname = tt==null?"":tt.Name//这里主要第二个集合有可能为空。需要判断
                              };
 
用Linq实现右连接,写法如下
DataClasses1DataContext db=new DataClasses1DataContext();
            var rightJoinSql = from book in db.Book
                               join stu in db.Student on book.StudentID equals stu.ID into joinTemp
                               from tmp in joinTemp.DefaultIfEmpty()
                               select new {
                               sname=tmp==null?"":tmp.Name,
                               bname=book.Name
 
                               };

Linq实现左连接、右连接

原文:https://www.cnblogs.com/Little-Sky/p/10530394.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!