【发布时间】:2013-08-23 22:03:39
【问题描述】:
请告知,我阅读过的所有资源、书籍、视频教程都没有我认为是简单、常见的场景。
-----通过带有链接到实体的桥表进行查询的最有效和最标准的方法是什么-----
我正在尝试使用 Linq To Entities 进行查询。我的理解是 LinqToSQL 已被弃用,即使是非正式的..
我有一个标准 一对多(桥表) 决赛桌的桥牌桌多对一 最后是原始表的特定键 如果它有帮助,那么在这个混乱的顶部有一个用户表,其中包含一对多用户到角色
表: 用户,(不在查询中,我在 where 子句中有此表的特定 KeyId),
角色, & RolePermission,(桥接/映射任何你想叫它的东西,它有FK's for Role & Permission) [不幸的是,它还有其他列,否则不会有那么大的压力。 IE。它不是 在实体框架中抽象其实际存在], & 权限。
总结我想要这个用户的每个角色的每个权限,用户 ID 可以说 5 我有一个每个用户的角色列表,所以(开始)我打算为这个查询提供角色 ID 并多次调用它,,将其结果附加到列表 4Ea RoleId 这肯定不理想 理想的情况是在单个查询中使用 UserID 和 RoleID...
How do you do Multiple Inner Joins in Linq to Entities
上面的这个链接声称你可以通过请求所有涉及的表来取消他,而无需专门将它们加入 PK-FK 字段?!?!?!说什么??!
这只是 Peuedo 代码伙计们,我已经在这种情况下输入了几十次尝试
参数 p_RoleId --- 这个的潜在版本可以得到 RoleId's per pass in UserID 理想情况下
List<Permissions> listToReturn = new List<Permissions>();
var result=(from p in context.Permissions
from rp in m.RolePermissions
where m.roleID = p_RoleId
listToReturn result.ToList();
我真的只是想知道如何正确地将这些表连接在一起并指定一些 where 子句。 到处都有两个表示例.. 但是当你有一个桥表时,我什么也没找到
【问题讨论】:
-
是的,这可能会很好
标签: c# linq entity-framework