Ich möchte, dass mein Domänenklassenname mit meinem Tabellennamen übereinstimmt (keine Pluralisierung).Singuläre Tabellennamen mit EF Core 2 verwenden
In EF-Core 1.1, habe ich diesen Code zu tun:
public static void RemovePluralisingTableNameConvention(this ModelBuilder modelBuilder)
{
foreach (IMutableEntityType entityType in modelBuilder.Model.GetEntityTypes())
{
entityType.Relational().TableName = entityType.DisplayName();
}
}
In EF Core 2.0, dieser Code kompiliert nicht als Relational()
ist keine Methode auf IMutableEntityType. in EF-Core Wie dem auch sei, 2.0, haben sie hinzugefügt IPluralizer, hier dokumentiert:
Es gibt nicht viele Beispiele zu zeigen, wie das gleiche Verhalten zu erreichen, die ich vorher hatte. Gibt es Hinweise darauf, wie Pluralisierung in EF Core 2 entfernt werden kann?
Die Konvention von EF Core 2.0 besteht darin, den Namen eines DbSet für eine Tabelle zu verwenden. Wenn Sie für eine Tabelle kein DbSet angegeben haben, verwendet EF Core den Klassennamen als Tabellenname. Offensichtlich wird dies alles ignoriert, wenn Sie den Tabellennamen mithilfe von ToTable im fließenden Mapping angegeben haben. –