我想在两个权利之间建立联系。
我有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)的连接?
答案 0 :(得分:1)
一个Entity_1可以有多个Entity_2
这意味着,Entity_1
(可选)的集合为Entity_2
,Entity_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。