现在已经看了一会儿......关于脑死亡。
我有一个父对象(OwnerGroup)和一个子对象(所有者)。这种关系是1对多。此外,OwnerGroup有一个主要所有者,因此我们有两个属性:int PrimaryOwnerId和Owner PrimaryOwner。我需要在这个和所有者之间定义一对一的关系。以下是POCO:
public class OwnerGroup
{
public int Id { get; set; }
public int PrimaryOwnerId { get; set; }
public Owner PrimaryOwner { get; set; }
public virtual ICollection<Owner> Owners { get; set; }
}
public class Owner
{
public int OwnerGroupId { get; set; }
...
public virtual OwnerGroup{ get; set; }
}
将OwnerGroup中的FK定义为所有者很简单,见下文:
builder.Entity<Owner>()
.HasRequired<OwnerGroup >(x => x.OwnerGroup )
.WithMany(x => x.Owners)
.HasForeignKey(x => x.OwnerGroupId);
绊倒我的部分是将PrimaryOwner FK定义为所有者。我想,从技术上讲,这个字段(PrimaryOwnerId)应该可以为空?
与往常一样,任何帮助都表示赞赏。