从 EF6 开始,可以在使用 Table Per Hierarchy 继承配置实体映射时执行以下操作:
public class MyContext : DbContext
{
public DbSet<Device> Devices { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<ABatteryPoweredDevice>().Property(c => c.BatteryLevel).HasColumnName("BatteryLevel");
modelBuilder.Entity<ADifferentBatteryPoweredDevice>().Property(c => c.BatteryLevel).HasColumnName("BatteryLevel");
}
}
BatteryLevel
不是Device
基类的一部分-它是为实现接口契约而实现的派生类的属性。
是否可以将此作为默认行为,而不是必须为每个派生类添加新映射?