Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在同一对象上定义1对1和1对多关系_C#_Entity Framework_Entity Framework 6 - Fatal编程技术网

C# 在同一对象上定义1对1和1对多关系

C# 在同一对象上定义1对1和1对多关系,c#,entity-framework,entity-framework-6,C#,Entity Framework,Entity Framework 6,我已经看了一段时间了…关于脑死亡 我有一个父对象所有者组和一个子对象所有者。这种关系是一对多的。此外,OwnerGroup有一个主所有者,因此我们有两个属性:int PrimaryOwnerId和Owner PrimaryOwner。我需要在这个和所有者之间定义一对一的关系。以下是POCO: public class OwnerGroup { public int Id { get; set; } public int PrimaryOwnerId { get; set; }

我已经看了一段时间了…关于脑死亡

我有一个父对象所有者组和一个子对象所有者。这种关系是一对多的。此外,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; }
}
将FK从OwnerGroup定义为Owner很容易,请参见以下内容:

builder.Entity<Owner>()
                .HasRequired<OwnerGroup >(x => x.OwnerGroup )
                .WithMany(x => x.Owners)
                .HasForeignKey(x => x.OwnerGroupId);
让我大吃一惊的是将PrimaryOwner FK定义为Owner。我想,从技术上讲,这个字段PrimaryOwnerId应该可以为空


一如既往,我们非常感谢您的帮助。

所有者是否可以是多个所有者组的主要所有者?OnwerGroup是否需要主要所有者?@emrenevayeshirazi是的,所有者可能是多个组的主要所有者。@jjj理想情况下,是的,组应该始终有一个主要所有者。