实体框架一对多流利的Api - 外键

时间:2015-07-23 06:22:20

标签: c# .net entity-framework mapping ef-fluent-api

我想在两个权利之间建立联系。

我有Entity_1和Entity_2,关系一对多(一个Entity_1可以有多个Entity_2)。

所以我有我的实体: 实体

    class Entity_1
    {    
        public int Id { get; set; }
        public int Entity_2Id{ get; set; }
        public virtual Entity_2 Entity_2{ get; set; } 
    }

    class Entity_2
    {    
        public int Id { get; set; }
        public int Entity_2Id{ get; set; }
        public virtual ICollection<Entity_1> Entity_1s{ get; set; }
    }

如何在实体2中建立外键(Entity_1)的连接?

1 个答案:

答案 0 :(得分:1)

  

一个Entity_1可以有多个Entity_2

这意味着,Entity_1(可选)的集合为Entity_2Entity_2(可选)包含对Entity_1的引用:

class Entity_1
{    
    public int Id { get; set; }
    public virtual ICollection<Entity_2> Entity_2s{ get; set; }
}

class Entity_2
{    
    public int Id { get; set; }
    public int Entity_1Id { get; set; }
    public virtual Entity_1 Entity_1 { get; set; }
}

而您的实体不正确。 以上代码的Fluent API是:

HasRequired(_ => _.Entity_1)
    .WithMany(_ => _.Entity_2s)
    .HasForeignKey(_ => _.Entity_1Id);

有更多可用选项here