У меня проблемы с преобразованием следующего оператора SQL в LINQ to Entity.
SELECT Name
FROM Role
WHERE ID NOT IN (SELECT Role_ID FROM UserRoleRelation WHERE User_ID = 11)
Три таблицы и их столбцы:
- Пользователь (ID, Uesrname)
- Роль (ID, имя)
- UserRoleRelation (ID, ID_пользователя, Role_ID)
Я попробовал следующее
from r in db.Roles
where !db.UserRoleRelations.Any(p => p.User_ID == UserID)
select r
Есть предложения?
Мангеш был очень близко, но он указал мне верное направление.
Это код, который работал.
(from r in db.Roles
where !(from y in db.UserRoleRelations where y.User_ID == UserID select y.Role_ID).Contains(r.ID)
select r);
Спасибо за помощь.