最初にコードを使用して、3つの主キーを持つ別の純粋な結合テーブルへの純粋な結合がある関係をモデル化するにはどうすればよいですか?
コード例:
public class ItemA
{
public int ItemAId { get; set; }
public string Name { get; set; }
public ICollection<ItemB> ItemBs { get; set; }
}
public class ItemB
{
public int ItemBId { get; set; }
public string Name { get; set; }
public ICollection<ItemA> ItemAs { get; set; }
public ICollection<ItemC> ItemCs { get; set; }
}
public class ItemC
{
public int ItemCId { get; set; }
public String Name { get; set; }
public ICollection<ItemB> ItemBs { get; set; }
}
public class TestDbContext : DbContext
{
public DbSet<ItemA> ItemA { get; set; }
public DbSet<ItemB> ItemB { get; set; }
public DbSet<ItemC> ItemC { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
EFは(と)の結合テーブルと(とItemC
)ItemB
の別の結合テーブルを作成し、( 、、 )のようなもの、つまりリンク、、とを一緒に持つ別の結合テーブルに結合(関係を作成)したいと思います。ItemB
ItemA
ItemA
ItemB
ItemC
ItemA
ItemB
ItemC
3つの主キー(、、)を使用して、別のテーブルへのリレーションシップ/マッピング結合をどのように作成しItemA
ますItemb
かItemC
?
また、このテーブルは、Entity Frameworkがこの3番目のテーブルを作成できるように、独自のクラスを必要とするエンティティですか?(たとえば、主キーのみを持つというクラスを作成するなど、主キーのみを持つもののクラスを作成することは避けたかったのItemAItemBItemC
です。)