Linq實現Left join
本文向大家介紹linq實現Left join,可能好多人還不了解Left join,沒有關系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
在linq中沒有 left join,所以當希望用到時,會比較范難。以下是linq實現Left join的方法。
students 表中有 字段 No,Name.book 表中有 bookName,borroeStudentNo(借書人的編號)現在要得到所有書籍信息,包括書的借閱人的信息。這里就需要left join。
- var sqlresult = from b in book
- joins in students on b.borroeStudentNoequalss.No intobs
- from bb in bs.DefaultIfEmpty()
- select new
- {
- b.bookName,
- s.No,
- s.Name
- };
***linq實現Left join
最近有發現了個問題,當查詢源是兩個List的時候,上面的做法會在當右邊的結果為空的時候報錯。也就是上面的書的借閱人為空的時候。強調:查詢源是兩個List的時候,而不是數據表
更改為:
- select new
- {
- b.bookName,
- SNo = s==null?"":s.No,
- SName = s==null?"":s.Name
- };
【編輯推薦】