如何将具有2个主键的纯连接表建模到另一个纯连接表,首先在Entity Framework代码中使用3个主键

时间:2012-06-13 15:03:41

标签: entity-framework-4 entity-framework-4.1 ef-code-first code-first entity-relationship

如何使用代码优先为具有三个主键的另一个纯连接表进行纯连接的关系建模?

示例代码:

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为(ItemCItemB)创建了一个联接表,为(ItemBItemA创建了另一个联接表,我想加入(创建关系)到另一个联接表,其中包含(ItemAItemBItemC),即链接ItemAItemBItemC在一起。

如何使用三个主键(ItemAItembItemC)创建关系/映射连接到另一个表?

此外,这个表真的是一个需要自己的类的实体,以便Entity Framework可以创建第三个表吗? (我想避免为只有主键的东西创建类,例如,创建一个只有主键的ItemAItemBItemC类。)

0 个答案:

没有答案