我有以下情况:
可以担任社区总裁或经理的用户。指定导航属性以将社区连接到其总裁并进行管理时,我得到了:
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; }
}
我找不到任何关于如何将第一个点仅指向用户管理的文档,以及第二个指向他预先创建的文档的文档。 提前谢谢。
答案 0 :(得分:4)
如Code First Data Annotations (MSDN)中所述,您可以使用InverseProperty
属性。
[InverseProperty("Manager")]
public virtual ICollection<Community> ManagedCommunities { get; set; }
[InverseProperty("President")]
public virtual ICollection<Community> PresidedCommunities { get; set; }