我对使用实体框架很陌生,而且我很难弄清楚如何编写使用多对多关系的查询。我有3个实体。 角色,用户和安全。 A 角色可以有多个安全和一个安全可以分配给很多角色。 A 角色可以有多个用户和用户可以有多个角色。如何编写一个涉及多对多关系的EF查询
我的问题是:我该如何着手编写一个查询,该查询为给定的用户ID提供了一个清晰的安全列表?
这是我的模型,其中EF自动为我创建链接表。
public class SecurityContext : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Role> Roles { get; set; }
public DbSet<Securable> Securables { get; set; }
}
public class User
{
public Guid UserId { get; set; }
public string Forename { get; set; }
public string Surname { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public virtual ICollection<Role> Roles { get; set; }
}
public class Securable
{
public Guid SecurableId { get; set; }
public string Name { get; set; }
public virtual ICollection<Role> Roles { get;set;}
}
public class Role
{
public Guid RoleId { get; set; }
public string Name { get; set; }
public virtual ICollection<Securable> Securables { get; set; }
public virtual ICollection<User> Users { get; set; }
}
这看起来像个胜利者,明天我会试一试 –