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


85

J'utilise Entity Framework Code First,

Ma chaîne de connexion est dans un fichier de configuration:

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

Lorsque j'essaye d'accéder aux données (quelque chose qui devrait créer la base de données) tombe avec l'erreur suivante:

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

Qu'est-ce que je rate?

Réponses:


182

Il vous manque le morceau de code suivant après l' connectionStringattribut (en supposant que vous utilisez SQL):

providerName="System.Data.SqlClient"


18
Si vous utilisez Entity Framework:providerName="System.Data.EntityClient"
Dr1Ku

3
J'essayais d'ajouter ceci à la chaîne de connexion. Il s'agit plutôt d'un nouvel attribut de l'élément <add />. Un attribut frère de l'attribut connectionString.
Sean B

@ IronMan84 J'ai eu une erreur de conversion de type après avoir utilisé SqlClient et EntityClient a travaillé
Zia Ul Rehman Mughal

15

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"/>

0

Descendez dans votre web.config jusqu'à ce que vous atteigniez la providersbalise. Par exemple, voici ma déclaration de fournisseurs:

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

vous devez l'ajouter en System.Data.SqlClienttant que nom de fournisseur dans votre chaîne de connexion afin que votre chaîne de connexion ressemble à ceci:

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


0

Dans mon cas, le problème était lié à une cible de projet de démarrage incorrecte. Dans la console PM, le projet d'assembly de migration cible était correct.

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

J'ai donc changé le StartUp en projet principal de site Web et la migration s'est terminée sans erreur.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.