1
我有一个多对多的用户和组之间的关系,我有一个表可以包含一个组的权限。因此,实体看起来像:实体框架,多对多关系和查询
public class Group
{
public int Id { get; set; }
public virtual ICollection Users { get; set; }
}
public class User
{
public int Id { get; set; }
public virtual ICollection Groups { get; set; }
}
public class Permission
{
public int Id { get; set; }
public virtual Group { get; set; }
public int Value { get; set; }
}
我想知道我是如何找出适用于用户(如适用者是任何组用户所属)的权限。
在数据库中会有一个名为UserGroups的映射表。如果我有访问到,LINQ查询看起来是这样的:
var permissions =
from p in MyContext.Permissions
join m in this.DbContext.UserGroups on p.GroupId equals m.GroupId
where m.UserId.Equals(theUserId)
select g;
但是(见my related question),因为我没有访问映射表,我不知道要找到最好的方式适用的权限。什么是最好的方式来做到这一点?
感谢您的帮助, 埃里克