Maison  >  Article  >  base de données  >  Entity Framework crée plusieurs noms de table, mais ma vue s'attend à un nom singulier : qu'est-ce qui ne va pas ?

Entity Framework crée plusieurs noms de table, mais ma vue s'attend à un nom singulier : qu'est-ce qui ne va pas ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-28 15:07:01807parcourir

 Entity Framework Creates Plural Table Names, But My View Expects a Singular Name: What Went Wrong?

Entity Framework crée plusieurs noms de table, mais View attend un nom de table singulier

Dans ce scénario, Entity Framework est configuré pour implémenter un code -première approche, créant la base de données basée sur les classes de modèles. Cependant, une différence apparaît entre le nom de table pluralisé généré par Entity Framework et le nom de table singulier attendu par la vue fortement typée.

Initialement, la pluralisation des noms de table était activée dans EF, entraînant la création du ' tableau des votes dans la base de données. Cependant, la vue a soulevé une exception, recherchant la table nommée « vote ».

Pour résoudre cet écart, plusieurs ajustements ont été effectués :

  • Méthode de démarrage de l'application : Une correction a été apportée dans la méthode Application Start pour initialiser la base de données en utilisant myDBInitializer() au lieu de DropCreateDatabaseAlways().
  • Méthode OnModelCreating : L'appel à l'implémentation de base de OnModelCreating a été supprimé et la PluralizingTableNameConvention a été exclue des conventions du générateur de modèles.
  • Création de base de données : Il a été découvert que MySQL .net Connector 6.4.4 permet à EF de créer des bases de données. Par conséquent, il n'était pas nécessaire d'avoir une base de données vide existante.

Après la mise en œuvre de ces modifications, la base de données a été correctement créée et la vue a réussi à accéder aux données de la table des « votes » pluralisés.

Malgré la résolution, la cause profonde de l’écart singulier/pluriel reste floue. Cependant, cette solution de contournement permet de progresser davantage dans le développement de l'application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn