当前位置: 移动技术网 > IT编程>开发语言>.net > Linq实现左连接、右连接

Linq实现左连接、右连接

2019年03月15日  | 移动技术网IT编程  | 我要评论

meid,十大整形医院,南昌绿湖豪城

--一本错误的记录
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
 
                               };

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网