EF Core外键标记依赖于需要的实体



在EF Core中,我手动配置了数据库视图和表之间的导航属性。这是表格和视图。

<<p>经销商表/strong>
tbody> <<tr>
DealerIdDealerName
1经销商一个

我明白了。为了使PhysicalAddress成为经销商的必需依赖项,它被设置为一个拥有的实体。这是在DbContext的一个部分类中完成的:

public partial class MyContext : DbContext
{
partial void OnModelCreatingPartial(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Dealer>(entity =>
{
entity.OwnsOne(e => e.PhysicalAddress, b =>
{
b.ToTable("PhysicalAddress");
entity.Property(e => e.City)
.IsRequired()
.HasMaxLength(50)
.IsUnicode(false)
.HasColumnName("City");
b.Property(pa => pa.DealerId).HasColumnName("Dealer_Id").IsRequired();
});
entity.Navigation(e => e.PhysicalAddress).IsRequired();
}
}

最后,在实体框架生成的DbContext文件中,OnModelCreatingPartial必须在OnModelCreating的末尾被调用:

public partial class GMDIContext : DbContext
{
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// EF generated entity configurations here
OnModelCreatingPartial(modelBuilder);
}
}

最新更新