我有一种情况,即我的EntityA应该有一个名为" PropertyB"指向EntityB的可选实例,EntityB有一个名为PropertyA的属性,指向EntityA实例 - 虽然不一定是我们开始使用的entityA的同一实例...
首先想知道如何在代码中处理这个问题?
我所看到的确切场景涉及组织成员和组织。组织成员当然是组织的成员,我通过在组织成员上指向组织的财产来建模。
与此同时,组织已提名人员作为联络点(或POC),其被建模为OrganisationMember类型的财产。
当我尝试为此创建迁移时,我被告知EF无法确定哪个是主体,哪个是依赖。
想点什么?
答案 0 :(得分:1)
您的EntityA
,EntityB
关系可以像这样实现:
public class EntityA
{
public int Id { get; set; }
public virtual EntityB EntityB { get; set; }
}
public class EntityB
{
public int Id { get; set; }
public virtual EntityA EntityA { get; set; }
}
你需要告诉Entity Framework关于这个关系:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<EntityA>()
.HasOptional(x => x.EntityB)
.WithOptionalDependent();
modelBuilder.Entity<EntityB>()
.HasOptional(x => x.EntityA)
.WithOptionalDependent();
}