我有四张桌子:
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
有许多关系。
我需要做的是根据传入的userId从code
表中检索所有rdPrivileges
。我该怎么办?
EDIT
对juharr表示赞同,工作代码:
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;
答案 0 :(得分:3)
我认为这样的事情会起作用。
var codes = from u in Users
from pg in u.PrivilegeGroups
from p in pg.rdPrivileges
where u.userId == "SomeUserID"
select p.code;