簡體   English   中英

使用聯接將linq查詢轉換為lambda查詢

[英]Convert linq query into lambda query with joins

我是lambda的新手。 我如何使用lambda編寫以下代碼。 謝謝

User user1 = (from u in db.Users
                                  join h in db.HCM_SMS_ROLE_MAPPINGs
                                  on u.roleID equals h.SMS_Role_ID
                                  where (u.Employee_Code == employeeCode && u.isDeleted == false && h.Is_Active_App == true)
                                  select u).Distinct().FirstOrDefault();

這應該為您工作:

db.Users.Join(db.HCM_SMS_ROLE_MAPPINGs, u => u.roleID, h => h.SMS_Role_ID, (u, h) => new
{
u, h
}
).Where(x=> x.u.Employee_Code == employeeCode && x.u.isDeleted == false && x.h.Is_Active_App == true).Select(x=> x.u).Distinct().FirstOrDefault()

干凈簡單! 希望能幫助到你

我的方法是右鍵單擊左側欄中的燈泡,然后選擇“將LINQ轉換為方法鏈”,從而得到以下結果:

User user1 = (db.Users
                .Join(db.HCM_SMS_ROLE_MAPPINGs, 
                   u => u.roleID, 
                   h => h.SMS_Role_ID, 
                   (u, h) => new { u, h })
                .Where(@t => (u.Employee_Code == employeeCode && u.isDeleted == false && h.Is_Active_App == true))
                .Select(@t => u))
                .Distinct()
                .FirstOrDefault();

我認為這是Resharper功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM