EF 6首先通过有效负载进行多对多编码并自引用多对多

莱斯利86

我遇到的问题是我有多对多关系,并且在一张桌子上会有一个自我引用的多对多关系。

因此,基本上一所学校有零个或多个组,而许多组可以有零个或多个组。组表将包含一个多对多的父级子级,因为一个组可以是另一个组的子级,也可以没有子级,并且该子级可以有一个子级,一个孩子也可以有多个父级,或者实体可以不具有父母。

我使用有效负载创建了映射表,以解决第一个多对多问题。程式码片段

public class School
{
  public virtual ICollection<SchoolGroupMap> SchoolGroupMaps
}

public class SchoolGroup
{
  public virtual ICollection<SchoolGroupMap> SchoolGroupMaps
}

public class SchoolGroupMap
{
  public virtual School School
  public virtual SchoolGroup SchoolGroup
}

然后,我尝试按照以下方式针对自引用多对多修改代码

public class SchoolGroup
{
  public virtual ICollection<SchoolGroupMap> SchoolGroupMaps

  public virtual ICollection<SchoolGroup> Parents


  public virtual ICollection<SchoolGroup> Children

}

我更改了上下文,并设置了许多映射表和一个自动映射表(原谅我今天尝试了很多事情,但我没有确切的代码)。我收到一个错误,该类上的属性必须匹配。

谁能帮忙。

我想在自我引用上创建导航属性。另外种子的例子将不胜感激

问候

安舒尔·尼甘(Anshul Nigam)

您不需要3个实体,请逐步进行操作

步骤1:与学校和团体建立多对多关系

public class School
{
  public virtual ICollection<SchoolGroup> SchoolGroups;
}

public class SchoolGroup
{
  public virtual ICollection<School> Schools;
}

步骤2:自荐学校小组

public class SchoolGroup
{
  public virtual ICollection<School> Schools;
  public virtual ICollection<SchoolGroup> SchoolGroups;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章