MVC "Ajouter un contrôleur" est "Impossible de récupérer les métadonnées ... Le système de configuration n'a pas pu être initialisé"
À partir de zéro, j'ai fait une nouvelle solution avec deux projets: l'un était MVC 3 et de l'autre un soutien EF 4.2 projet. Le tout est construit avec succès. À partir du projet MVC-je ouvrir "Ajouter un Contrôleur de dialogue et de faire générer le code en se basant sur le contexte et le modèle que j'ai sélectionner à partir de la EF projet. Le "ajouter un contrôleur" dialogue échoue avec le message:
Incapable de récupérer les métadonnées pour "MyModelClass'. Système de Configuration n'a pas pu initialiser.
J'ai remarqué que le "ajouter un contrôleur" le dialogue est en fait de tenter de récupérer la base de données de la chaîne de connexion à partir de son site web.fichier de configuration. Tout d'abord, ce qui me frappe comme dingo-ish, depuis l'compatibles avec les objectifs EF projet a déjà une application.config avec la chaîne de connexion. Mais jamais de la garde qui, du mieux que je peux comprendre, c'est que la chaîne de connexion dans le web.la config est mauvais en quelque sorte. C'est à quoi il ressemble:
<add name="Monsters2Entities"
connectionString="
metadata=res://*/Monsters.csdl|
res://*/Monsters.ssdl|
res://*/Monsters.msl;
provider=System.Data.SqlClient;
provider connection string="
data source=.;
initial catalog=Monsters2;
integrated security=True;
pooling=False;
multipleactiveresultsets=True;
App=EntityFramework
""
providerName="System.Data.EntityClient"
/>
La chaîne de connexion n'ont pas réellement de tous les ridicules des sauts de ligne et l'indentation - je suis juste en train de le rendre plus facile à lire. De toute façon, que la chaîne de connexion est fondamentalement identique à la chaîne de connexion utilisée dans le soutien EF projet sur lequel il s'inspire. Comment puis-je corriger la situation, de faire le "ajouter un contrôleur" dialgoue heureux?
source d'informationauteur Brent Arias
Vous devez vous connecter pour publier un commentaire.
J'avais installé EF 6 qui a ajouté:
Dans mon fichier de config. J'ai eu d'autres échafaudage questions et ont donc décidé de revenir à Ef 5. Après la désinstallation EF 6 et réinstallation EF 5 j'ai supprimé le de la config et ensuite j'ai pu construire mon nouveau contrôleur. J'ai découvert cela en utilisant le
Il suffit de copier les informations de chaîne de connexion à partir de votre modèle EF projet App.Config dans votre et de regarder ce que vous ne répétez pas toutes les sections (entityFramework section par exemple)
Essayez ceci:
J'ai remplacé
"
avec'
J'ai ajouté à mon Global.Asax fichier, de sorte que a) la base de données a débuté immédiatement et b) de la définition de la table a été ajoutée. permettant au Contrôleur de trouver la définition de la table:
J'ai trouvé thjis aidé quand j'ai eu ce problème:
Désinstallé la pré-version de EF et installé EF5
Suis allé à l'Explorateur d'Objets Sql Server et supprimé la db.
Reconstruit la solution
utilisé H> mise à Jour de la Base de données -Verbose
Peut-être que le problème était avec la pré-version EF ou tout simplement le nettoyage de la bouche était tout ce dont elle avait besoin.
Je suis assez nouveau à tous ces mais cela ne me laisser utiliser l'Ajout de Contrôleur de l'échafaudage de l'outil avec le "contrôleur MVC avec lire/écrire des actions et des examens, à l'aide de Entity Framework" modèle sélectionné.
Tout d'abord, vous devriez vérifier votre chaîne de connexion doit être dans votre site Web.Fichier de Config à la RACINE! de votre projet après que vérifier si il y a une autre chaîne de connexion ou pas, si il y a une autre chaîne de connexion de la remplacer par votre chaîne de connexion....
Cela a résolu mon problème qui était le même que le votre....
J'ai réussi à résoudre mon problème en changeant l'edmx de la stratégie de génération de code à T4, l'ajout d'un EF5 Db Contexte et en remplaçant %edmxInputFile% dans les deux *.tt et *.Contexte.tt les fichiers.
Renommer le Modèle de la classe a travaillé pour moi
Êtes-vous sûr d'avoir une ConnectionString dans votre site Web.Fichier de configuration avant de créer un Contrôleur ? Parfois, nous créons un autre projet qui contient l'Entité DB Contexte et nous avons oublié d'ajouter cette même connectionString dans le Web.Config à l'intérieur de l'autre projet.
Je fais face à ce problème "Impossible de récupérer les métadonnées..." alors que j'étais otion d'un Contrôleur.
Solution pour cela est comme suit.
2.ou Supprimer la Chaîne de Connexion à partir du Web.config et Ajouter un contrôleur et après l'ajout d'un contrôleur ajouter à nouveau la Chaîne de connexion.
Il semble que ce soit un bug dans MVC.
J'espère qu'avec cela, vous pouvez aller de l'avant.
devez d'abord installer le paquet entity framework
aller à l'outil>
Bibliothèque du gestionnaire de paquet> emballage de la console du gestionnaire > :installer entity framework