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?

Hodaya Shalom
la source

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"

Corey Adler
la source
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"/>
Krishneil
la source
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>

Ahmad Hamed
la source
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.

Kamerton
la source