web-dev-qa-db-fra.com

Aucune chaîne de connexion nommée 'MyApplicationEntities' n'a pu être trouvée dans le fichier de configuration de l'application.

Je viens d'installer EF 4.3 et d'essayer de mettre à niveau mon projet avec la migration. Cependant, je ne parviens pas à exécuter add-migration initial dans mon projet via la console du gestionnaire de packages. 

Il lance maintenant une exception No connection string named 'MyApplicationEntities' could be found in the application config file. 

Maintenant ma config a tout 

<connectionStrings>
<add name="MyApplicationEntities" 
     connectionString="metadata=res://*/DataModel.csdl|res://*/DataModel.ssdl|res://*/DataModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=localhost;initial catalog=MyApplicationEntitiesDB;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" />

Je ne sais pas quel est le problème, c'est un bogue dans EF 4.3 ou quelque chose que je ne fais pas bien. 

Je pensais que ce message avait résolu le problème, mais pas tout à fait.

Tout le monde a une réponse. 

Appréciez Sanj. 

43
Sanj

Ah, compris cela accidentellement. 

Je devais enlever 

public MasterEntities()
    : base("name=MyApplicationEntities")
    //      ^^^^^
{
}

à 

public MasterEntities()
    : base("MyApplicationEntities")
{
}

EF 4.3 n'aime pas que la chaîne de connexion soit appelée name=xxxxx

101
Sanj

Comme l'a souligné Sanj, il est nécessaire de copier la chaîne de connexion du fichier App.config de votre projet de base de données vers le fichier web.config du projet Web. Je ne suis pas sûr de savoir pourquoi la réponse ci-dessus est marquée comme étant correcte. J'ajoute ceci comme réponse au lieu d'un commentaire afin que les lecteurs futurs puissent le remarquer.

37
Bill

J'ai eu la même erreur, mais j'avais déjà un fichier web.config avec le nom de chaîne de connexion correct et un fichier DbContext déclaré correctement. Cependant, j'ai remarqué que lorsque j'ai exécuté add-migration avec -Verbose, il indiquait que le "Projet de démarrage" était un projet différent de celui contenant mon contexte. Donc, j'ai changé le projet de démarrage, j'ai relancé l'add-migration et tout a fonctionné !!

28
Phil

Assurez-vous que votre fichier de configuration de projet statup a la chaîne de connexion. Ceci link peut vous aider.

8
Santosh Panigrahy

J'ai aussi eu ce problème et l'ai résolu par 

  1. Sélection du StartUp project correct. 
  2. Relancez la commande sur la console du gestionnaire de packages.

Les choses ont fonctionné comme prévu.

6
xibabababa

J'ai aussi rencontré l'exception similaire. AppConfig est créé à l'origine dans le projet pour lequel nous générons le modèle d'entité. Mais si vous exécutez l'application avec un autre projet (ma solution contient plusieurs projets), AppConfig doit être inclus dans le projet en cours d'exécution.

2
Dhanuka777
 1. ctor => Context

   public MasterEntities()
    : base("ConnectionStringName")
{
}

 2. config file

   <add name="ConnectionStringName"
      connectionString="Data Source=.;Initial Catalog=DatabaseName;User Id=sa; Password=YourPass;"
      providerName ="System.Data.SqlClient" />

 3. in Sulation Exporer right click the project and select 'Set as
    startup project'

 4. in PackageManagerConsole Change Default Project to Your Project of
    context class.

 5. then:

add-migration new

ou ajouté ConnectionString au fichier de configuration du projet de travail.

0
MohammadSoori