我有2张桌子: 1)家长 2)孩子
在codefirst中,我有以下定义:
public class Parent
{
public int ParentId { get; set; }
public ICollection<Child> child { get; set; }
}
但是在db中,子表定义了以下外键:
ParentParentId(FK,int,NULL)
如何确保它只在外键中指定ParentId?我是否需要使用流畅配置显式设置父键?
答案 0 :(得分:1)
是的,您必须在子实体中包含外键属性:
public class Child
{
public int ChildId { get; set; }
public int ParentId { get; set; } // FK
public virtual Parent { get; set; }
}
或者您必须使用流畅的API重命名该列:
modelBuilder.Entity<Child>()
.HasRequired(c => c.Parent)
.WithMany(p => p.Childs)
.Map(m => m.MapKey("ParentId"));