У меня есть четыре таблицы:
Users PrivilegeGroups rdPrivileges LinkPrivilege
----------- ---------------- --------------- ---------------
userId(pk) privilegeGroupId(pk) privilegeId(pk) privilegeId(pk, fk)
privilegeGroupId(fk) name code privilegeGroupId(pk, fk)
L2E не создаст для меня LinkPrivilege
сущность. Таким образом, у нас есть только Users
, PrivilegeGroups
и rdPrivileges
сущностей. PrivilegeGroups
и rdPrivileges
отношения многие ко многим.
Что мне нужно сделать, это получить все code
из таблицы rdPrivileges
на основе переданного в userId. Как я могу это сделать?
EDIT
кредит к юхарру, рабочий код:
var codes = from u in db.Users
from pg in db.PrivilegeGroups
from p in pg.rdPrivileges
where u.UserId == passedInUserId
&& u.PrivilegeGroups.PrivilegeGroupId == pg.PrivilegeGroupId
select p.Code;