当前,我正在尝试使用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核心是将子表中的外键添加到父表中。相反,我想要从父表到子表的外键。
我想念什么?
答案 0 :(得分:0)
在此处了解更多信息:Single Navigation Property
modelBuilder.Entity<Parent>()
.HasMany(p => p.Children)
.WithOne();