简体   繁体   中英

EF Code First foreign key without navigation property, but with parent collection property

My question is similar to this one, but in this case I do have a collection property on the parent referring to the childeren:

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; }
}

And just as with the cited question, I don't want/need a Parent property on Child .

So how should the following syntax be altered to define the relationship?

modelBuilder.Entity<Child>()
    .HasRequired(c => c.Parent)   <---- no such property "Parent"
    .WithMany(p => p.Children)
    .HasForeignKey(c => c.ParentId); 

You can use WithRequired method without parameter:

modelBuilder.Entity<Parent>() 
    .HasMany(p => p.Children)
    .WithRequired()
    .HasForeignKey(c => c.ParentId); 

With part can be left empty if there is no inverse navigation property.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM