我是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();
答案 0 :(得分:2)
这应该对您有用:
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()
干净简单!希望对您有帮助
答案 1 :(得分:0)
我的方法是右键单击左侧栏中的灯泡,然后选择“将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功能。