???? 網上也有很多有關Linq To Sql實現Left join的例子,不過使用lambda的不多,就算使用lambda的,也講得很含糊,本來不需要講太多廢話的,硬要講得高深莫測,顯得好厲害。那些高深的東西在這里我也不講了,也不會講,直接上代碼就知道了:
??? 當前有兩個表,TUsers與TUserInfo,兩者通過UserID關聯,而TUsers表記錄的是必須的數據,而TUserInfo記錄是一些附件的數據,因此在TUserInfo中不一定有數據。使用Left Join獲取數據:
??? Lambda表達式如下:
TUsers.GroupJoin(?
??? TUserInfo,??
??? u => u.UserID,??
??? ui => ui.UserID,??
??? (u, ui) => new { u, ui }).Select(o => o)?
在LinqPad中查看結果,正常顯示,查看生成的SQL語句如下:
??????? SELECT COUNT(*)?
??????? FROM [TUserInfo] AS [t2]?
??????? WHERE [t0].[UserID] = [t2].[UserID]?
??????? ) AS [value]?
??? FROM [TUser] AS [t0]?
??? LEFT OUTER JOIN [TUserInfo] AS [t1] ON [t0].[UserID] = [t1].[UserID]?
??? ORDER BY [t0].[UserID]?
在代碼中測試也可通過;
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
