Entity Framework 6 и наследование TPH: сопоставьте свойства с тем же именем по умолчанию в том же столбце
Начиная с EF6, можно сделать что-то подобное при настройке сопоставлений сущностей с использованием наследования таблиц на иерархию:
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
Базовый класс - это свойство производных классов, реализованных для выполнения контракта интерфейса.
Можно ли сделать это поведением по умолчанию, а не добавлять новое отображение для каждого производного класса?