C# 在EntityFramework中连接两个M:N关系
看看我下面的模型C# 在EntityFramework中连接两个M:N关系,c#,linq,entity-framework,orm,C#,Linq,Entity Framework,Orm,看看我下面的模型 每个用户有n个角色 每个角色有n个权限/每个权限有n个角色 我正在尝试获得用户权限,以便能够在其上执行组, 我怎么做呢 我打算编写一个LINQ查询,如下所示: from uRole in context.Users.Single(u => u.Id == userId).Roles join p in context.Permission.Where(p => p.Type == ModelEnums.PermissionType.Module) 我不
from uRole in context.Users.Single(u => u.Id == userId).Roles
join p in context.Permission.Where(p => p.Type == ModelEnums.PermissionType.Module)
我不知道如何编写查询,有人能指导我吗?要获得所有用户权限,可以使用扩展方法:
var permissions=context.Users.Single(u => u.Id == userId).Roles.SelectMany(r=>r.Permissions).Distinct();
还可以调用扩展方法来删除重复项 那么,你为什么不编写和测试查询结果并告诉我们结果/问题?问题是我不知道如何编写查询。作为EF的新手,我从来没有注意到有很多!你救了我一周,我不知道该怎么说谢谢:)