Ab EF6 ist es möglich, so etwas zu tun, wenn Entitätszuordnungen Konfiguration Vererbung Tabelle pro Hierarchie:Entity Framework 6 & TPH Vererbung: Karte Eigenschaften mit dem gleichen Namen auf dieselbe Spalte standardmäßig
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
ist nicht Teil der Basisklasse Device
- es ist eine Eigenschaft der abgeleiteten Klassen, die implementiert wurden, um einen Schnittstellenvertrag zu erfüllen.
Ist es möglich, dies zum Standardverhalten zu machen, anstatt für jede abgeleitete Klasse eine neue Zuordnung hinzufügen zu müssen?