Je souhaite que mon nom de classe de domaine corresponde à mon nom de table db (pas de pluralisation).Utilisation de noms de table singuliers avec EF Core 2
Dans EF Core 1.1, j'ai utilisé ce code pour le faire:
public static void RemovePluralisingTableNameConvention(this ModelBuilder modelBuilder)
{
foreach (IMutableEntityType entityType in modelBuilder.Model.GetEntityTypes())
{
entityType.Relational().TableName = entityType.DisplayName();
}
}
Dans EF Core 2.0, ce code ne compile pas Relational()
n'est pas une méthode sur IMutableEntityType. Quoi qu'il en soit, dans EF Core 2.0, ils ont ajouté IPluralizer, documenté ici:
Il n'y a pas beaucoup d'exemples pour montrer comment obtenir le même comportement que j'avais avant. Toute idée de la façon de supprimer la pluralisation dans EF Core 2?
La convention d'EF Core 2.0 consiste à utiliser un nom DbSet pour une table. Si vous n'avez jamais spécifié de DbSet pour une table, EF Core utilisera le nom de la classe comme nom de la table. Évidemment, tout ceci est ignoré si vous avez spécifié le nom de la table en utilisant ToTable dans le mappage fluide. –