让我说我有这个:
public partial class AccessMask
{
public int AccessMaskID { get; set; }
=== bla bla bla ===
public virtual ICollection<Role> Role { get; set; }
}
public partial class Role
{
public int RoleID { get; set; }
=== bla bla bla==
public virtual ICollection<Forum> Forum { get; set; }
public virtual ICollection<Rank> Rank { get; set; }
public virtual ICollection<User> User { get; set; }
public virtual ICollection<AccessMask> AccessMask { get; set; }
}
现在是个大问题。如何在这两者之间进行查询?你可能会发现这是多对多的关系。我想要做的是加入这个并获得与角色相关的访问掩码。 bla bla bla-一些完全无关的随机属性。
UPDATE!
我知道我可以使用: 包括() 但是将它用于大量的查询......将是一个坏主意。因为我有很多看似相似的多对多关系。 或者我是否必须简单地重新设计我的模型,加入更实际的加入实体的东西?
答案 0 :(得分:3)
对于检索数据,它的工作方式与任何其他导航属性相同:
Role myRole = context.Where(x=>x.Id=123).FirstOrDefault();
ICollection<AccessMask> masks = myRole.AccessMask;
但是,我在获取多对多数据时非常困难。