1

多対多の関係があり、テーブルの1つに多対多の自己参照があるという問題があります。

したがって、基本的に学校にはゼロまたは多数のグループがあり、多くのグループはゼロまたは多数の学校を持つことができます。グループ テーブルには、グループが別のグループの子になることも、子を持たないこともあり、その子が子を持つことも、1 つの子が複数の親を持つことも、エンティティがまったく持たないこともできるため、それ自体と多対多の親と子が含まれます。両親。

最初の多対多の問題を解決するために、ペイロードを使用してマッピング テーブルを作成しました。コードスニペット

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
}

i次に、自己参照多対多のために次の方法でコードを変更しようとしました

public class SchoolGroup
{
  public virtual ICollection<SchoolGroupMap> SchoolGroupMaps

  public virtual ICollection<SchoolGroup> Parents


  public virtual ICollection<SchoolGroup> Children

}

has many と auto マッピング テーブルを使用してコンテキストを変更しました (今日は非常に多くのことを試していて、正確なコードを持っていないことを許してください)。クラスのプロパティが一致する必要があるというエラーを受け取りました。

誰でも助けてください。

多対多の自己参照でナビゲーション プロパティを作成したいと考えています。また、シードの例をいただければ幸いです

よろしく

4

1 に答える 1

0

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;
}
于 2014-06-10T03:19:20.763 に答える