89 votes

La chaîne de connexion 'MyConnection' dans le fichier de configuration de l'application ne contient pas l'attribut providerName requis".

J'utilise Entity Framework Code First ,

Ma chaîne de connexion se trouve dans un fichier de configuration :

<connectionStrings>
    <clear/>
    <add name="ApplicationServices" connectionString="Data Source=PC-X;Initial Catalog=MYdb;Integrated Security=True"/>
  </connectionStrings>

Lorsque j'essaie d'accéder aux données (ce qui devrait créer la base de données), je tombe sur l'erreur suivante :

La chaîne de connexion "ApplicationServices" dans le fichier de l'application ne contient pas l'attribut providerName requis."

Qu'est-ce qui m'échappe ?

191voto

IronMan84 Points 5556

Il vous manque le morceau de code suivant après la ligne de commande connectionString (en supposant que vous utilisiez SQL) :

providerName="System.Data.SqlClient"

16voto

Krishneil Points 552

Dans le futur, le code complet

<add name="YouContext" connectionString="Integrated Security=True;Persist Security Info=False;Initial Catalog=YourDatabaseName;Data Source=YourPCName;" providerName="System.Data.SqlClient"/>

2voto

Ahmad Hamed Points 21

Descendez dans votre web.config jusqu'à ce que vous atteigniez le champ providers étiquette. Par exemple, voici la déclaration de mes fournisseurs :

<providers><provider invariantName="System.Data.SqlClient" ... /></providers>

vous devriez ajouter ceci System.Data.SqlClient comme nom de fournisseur dans votre chaîne de connexion de sorte que votre chaîne de connexion devrait ressembler à ceci :

  <connectionStrings>
 <add name="ApplicationServices" providerName="System.Data.SqlClient" connectionString="Data Source=PC-X;Initial Catalog=MYdb;Integrated Security=True"/>
  </connectionStrings>

0voto

Kamerton Points 105

Dans mon cas, le problème provenait d'une cible de projet StartUp incorrecte. Dans la console PM, la cible du projet d'assemblage de migration était correcte.

J'ai une solution multiprojets et la cible était sur un projet de service web.

J'ai donc remplacé le StartUp par le projet WebSite principal et la migration s'est déroulée sans erreur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X