Die Discriminator
Spalte wird in Vererbungsszenarien für Tabellen pro Hierarchie verwendet und ist erforderlich . Wenn Sie zum Beispiel ein Modell wie dieses haben ...
public abstract class BaseEntity
{
public int Id { get; set; }
}
public class Post : BaseEntity
{
}
public class OtherEntity : BaseEntity
{
}
... und den BaseEntity
Teil des Modells erstellen, z. B. durch Hinzufügen eines DbSet<BaseEntity>
zu Ihrem abgeleiteten Kontext, ordnet Entity Framework diese Klassenhierarchie standardmäßig einer einzelnen Tabelle zu, führt jedoch eine spezielle Spalte ein - die Discriminator
-, um zwischen den verschiedenen Typen zu unterscheiden ( Post
oder OtherEntity
) in dieser Tabelle gespeichert. Diese Spalte wird mit dem Namen des Typs (erneut Post
oder OtherEntity
) gefüllt.