EF Code First外键没有导航属性,但具有父集合属性

时间:2017-02-08 17:36:37

标签: c# entity-framework

我的问题与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); 

1 个答案:

答案 0 :(得分:7)

您可以使用不带参数的WithRequired方法:

modelBuilder.Entity<Parent>() 
    .HasMany(p => p.Children)
    .WithRequired()
    .HasForeignKey(c => c.ParentId); 
如果没有反向导航属性,

With部分可以留空。