定义引用同一个表(EF7 / core)的多对多关系

时间:2016-03-24 10:12:57

标签: c# .net entity-framework many-to-many entity-framework-core

该模型具有实体。 并且会有依赖于(使用)其他项目的项目。多对多的关系。例如:

Item A is used by Item B, C, and F.
Item B is used by Item C, F and H.

如何正确定义不同项目之间的方向关系?

项目:

public class Item
    {
    public int Id
        { get; set;}
    public string Name
        {get; set;}
    }

我定义依赖关系的第一种方法是:

public class ItemDependency
{
    [Key]
    public int Id
    { get; set; }

    [ForeignKey("ItemParentId")]
    public Item ItemParent { get; set; }

    public int ItemParentId{ get; set; }

    [ForeignKey("ItemDependentId")]
    public Item ItemDependentId { get; set; }

    public int ItemDependentId { get; set; }

}

1 个答案:

答案 0 :(得分:1)

根据文件EF7 Many-to-many relationship

  

尚不支持没有实体类来表示连接表的多对多关系。但是,您可以通过包含连接表的实体类并映射两个单独的一对多关系来表示多对多关系。