实体框架6引用同一实体的两个不同集合
本文关键字:实体 两个 集合 框架 引用 | 更新日期: 2023-09-27 18:25:58
我得到了以下场景:
可以是社区主席或管理者的用户。当指定一个导航属性来将社区连接到其总裁并进行管理时,我得到了以下信息:
public class Community
{
...
[ForeignKey("President")]
public int? PresidentId { get; set; }
public virtual User President { get; set; }
[ForeignKey("Manager")]
public int? ManagerId { get; set; }
public virtual User Manager { get; set; }
}
但我找不到解决方案的部分来了。我想有两个关于用户的集合,每个集合都重新提交给他们管理的社区,以及他们主持的社区:
public class User
{
...
public virtual ICollection<Community> ManagedCommunities { get; set; }
public virtual ICollection<Community> PresidedCommunities { get; set; }
}
我找不到任何关于如何让第一个点只指向用户管理的点,第二个点指向他正在准备的点的文档。提前谢谢。
如代码优先数据注释(MSDN)中所述,您可以使用InverseProperty
属性。
[InverseProperty("Manager")]
public virtual ICollection<Community> ManagedCommunities { get; set; }
[InverseProperty("President")]
public virtual ICollection<Community> PresidedCommunities { get; set; }