我的问题与this类似,但在这种情况下,我做在父级上有一个集合属性,引用了孩子:
public class Parent
{
public int Id { get; set; }
public virtual ICollection<Child> Children { get; set; }
}
public class Child
{
public int Id { get; set; }
public int ParentId { get; set; }
}
就像引用的问题一样,我不希望/需要Parent
Child
属性。
那么应该如何改变以下语法来定义关系呢?
modelBuilder.Entity<Child>()
.HasRequired(c => c.Parent) <---- no such property "Parent"
.WithMany(p => p.Children)
.HasForeignKey(c => c.ParentId);
答案 0 :(得分:7)
您可以使用不带参数的WithRequired
方法:
modelBuilder.Entity<Parent>()
.HasMany(p => p.Children)
.WithRequired()
.HasForeignKey(c => c.ParentId);
如果没有反向导航属性, With
部分可以留空。