Преобразование linq-запроса в лямбда-запрос с помощью объединений - PullRequest
1 голос
/ 04 апреля 2019

Я новичок в лямбде. Как я могу написать код ниже, используя лямбду. спасибо

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();

Ответы [ 2 ]

2 голосов
/ 04 апреля 2019

Это должно работать для вас:

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()

Чисто и просто! Надеюсь, это поможет

0 голосов
/ 04 апреля 2019

Мой метод состоит в том, чтобы щелкнуть правой кнопкой мыши на лампочке в левой боковой панели и выбрать «Преобразовать 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...