如何将不具有导航属性的parent => child映射到child

时间:2019-01-22 13:26:12

标签: c# entity-framework-core

当前,我正在尝试使用codefirst db生成功能配置父=>子关系。

public class Parent
{
   public Guid Id{ get; protected set; }
   public virtual ICollection<Child> Children { get; protected set; }
   public string Name { get; set; }
}

public class Child
{
    public Guid Id { get; protected set; }
    public string Name { get; protected set; }
}

这是配置我的实体的方式:

public class ParentConfiguration : IEntityTypeConfiguration<Parent>
{
    public void Configure(EntityTypeBuilder<Parent> builder)
    {
        builder.ToTable("Parent");
        builder.HasKey(parent => parent .Id);
        builder.HasMany(parent => parent.Children);

    }
}

public class ChildConfiguration : IEntityTypeConfiguration<Child>
{
    public void Configure(EntityTypeBuilder<Child> builder)
    {
        builder.ToTable("Child");
    }
}

只允许通过其父母抚养孩子。不允许孩子知道他有哪个父母。

但是,entiteframework核心是将子表中的外键添加到父表中。相反,我想要从父表到子表的外键。

我想念什么?

1 个答案:

答案 0 :(得分:0)

在此处了解更多信息:Single Navigation Property

modelBuilder.Entity<Parent>()
    .HasMany(p => p.Children)
    .WithOne();