Comment bien supprimer et ajouter de nouveau Modèle de Données d'Entité
débutant à Entity Framework ici. À l'aide de visual studio 2010 et SQL Server 2008 express DB.
J'avais du mal à l'actualisation d'un Modèle de Données d'Entité après l'ajout de nouvelles tables. Donc, j'ai suivi une suggestion que j'ai trouvé ici de simplement supprimer et de régénérer le modèle.
Je reçois à la "Choisissez Votre Connexion de Données", la section de l'Entité de Modèle de Données de l'Assistant et "Enregistrer l'entité paramètres de connexion au Web.config comme:" est cochée. Cependant, mon nom a un 1 qui lui est annexé. Par exemple MyDatabaseEntities est maintenant MyDatabaseEntities1. Bien sûr, je ne veux pas le "1" ajouté. J'ai tué la chaîne de connexion existante dans le Web.config et supprimé toutes les références à ce nom dans ma solution. Pourtant, quand j'essaie de continuer je me suis présenté avec l'erreur suivante:
"'MyDatabaseEntites" conflit avec un nom de propriété dans les Paramètres de l'Application. Veuillez choisir un autre nom"
Je ne peux pas trouver une référence à ce nom n'importe où dans la solution. Je peux décocher cette option et il continuera, mais il ne veut TOUJOURS pas ajouter deux tables dans la base de données. Ensuite, j'ai complètement arrêter tout bas, redémarré, et essaya de nouveau. Cette fois je n'ai pas l'erreur ci-dessus, mais deux de mes trois nouvelles tables ne sont pas encore ajoutés au modèle edmx.
Toutes les idées sont les bienvenues. Aussi il semble que c'est encore assez buggé, même dans VS2010/.NET 4. Aider à restaurer ma foi...j'ai le sentiment d'abandonner Cadre de l'Entité à ce point. Basé sur mon expérience jusqu'à maintenant et d'autres questions posté ici, j'ai l'impression que je vais passer plus de temps à chasser l'Entité Cadre de l'étrangeté de l'écriture de code utile.
Mise à JOUR: j'ai trouvé une solution. Le concepteur de ne pas afficher les erreurs. Vous avez à regarder dans le native XML (fichier edmx) pour voir les erreurs. Voir ici: ADO.NET Entity Framework: Assistant de mise à Jour ne sera pas ajouter des tables
double possible de ADO.NET Entity Framework: Assistant de mise à Jour ne permet pas d'ajouter des tableaux
Supprimer toutes les chaîne de connexion à partir de fichier de configuration web et de construire l'application. Maintenant, vous pouvez utiliser les noms de propriété.
OriginalL'auteur David | 2011-01-06
Vous devez vous connecter pour publier un commentaire.
L'erreur est provoquée par les restes de chaînes de connexion dans les paramètres "App.Config" fichier (voir l'explorateur de solutions) et c'est dans cette section:
"connectionStrings" (entouré par des crochets)
Il suffit de supprimer à partir de là.
Je suis de cette question dans VS15 cependant il n'y a pas de connectionstring dans mon web.config et je n'ai pas d'application.config.
Merci, c'est de travailler comme vous l'avez mentionné.
OriginalL'auteur techvslife
IIS
si vous développez une application web.EntityDataModel
ConnexionLigne de chaîne à partir du web.config ou app.config
Data Model
et le renommer comme de vieux nom,OriginalL'auteur Hady Shaltout
Je ne connais pas la réponse précise à votre problème, mais je pense que je peux recommander une approche qui permettra de résoudre ce conflit.
En général, je pause mon EF travail dans une bibliothèque distincte. Si je travaille sur Cyberdyne.Terminator, je fais un EF bibliothèque de classe appelé Cyberdyne.Terminator.Les données. De cette façon, si vous voulez sortir le modèle et recommencer, tout est séparé de vos fichiers dépendants, et en particulier de votre site web.config.
Rien de tout cela est susceptible de résoudre le manque de tables, probablement. La seule chose que j'ai vu où ce qui se passe est que si j'ajoute une table, puis de le supprimer. Il ne semble pas encore dans la section "Ajouter des Tables de dialogue" (et vous devez le renommer pour l'obtenir). Mais je pensais que c'était résolu dans EF 4.0. Je ne sais pas. Si le problème persiste, vous pouvez essayer de renommer la table, re-ajouter, puis le renommer en arrière si elle se montre.
EF est une douleur dans le cul pour être sûr. La seule chose que je peux vous dire, c'est que j'ai généralement eu à travailler par le biais de ces maux de tête, d'apprendre de la question, et de ne jamais être dérangé par le nouveau. Si vous ne pouvez pas tenir debout EF, vous pouvez également regarder NHibernate - j'ai une très forte impression, en tant que bien.
Wow...c'est fou. Que faut vraiment être un message pop-up plutôt que enterrés dans le XML.
OriginalL'auteur Chris B. Behrens
Vérifiez vos chaînes de connexion, et continuez à faire défiler vers la droite. Le plus souvent, lorsque cela m'arrive, Visual Studio a ajouté une chaîne de connexion derrière un autre. J'ai effectué cette une couple de fois, et je me demandais où mon application config a été (non, il n'y a pas d'application de config, juste de configuration web mvc), de sorte que le dialogue est un peu déroutant. Bien sûr, le plus probable que la chaîne de connexion qui se cache juste derrière un autre!
OriginalL'auteur Sean Haddy
Appuyez simplement sur
clés et dans la liste déroulante, sélectionnez 'EntireSolution/CurrentProject', puis appuyez sur enter. où jamais de ce nom généré, il va vous montrer.
Je reçois dans web.config fichier. donc supprimer qui a généré complète de la ligne de connexion à partir de là. et re l'ajouter à nouveau. Alors j'espère que vous risquez de ne pas obtenir de nouveau ce message.Je vous remercie..
OriginalL'auteur dawood abbas
Fait ce qui est frustrant, puisque vous en essayant de voir dans app.config que si il y a une autre chaîne et vous ne voyez que 1 chaîne, en Fait Ce que VS n'est parfois ajouter de la deuxième chaîne de la même ligne. voir cette photo ci-dessous
Il ressemble à il y a 2 ConnectionStrings? (EN FAIT OUI)
Maintenant, voir ce screen:
Vous pouvez également appuyer sur Ctrl+ED pour formater le fichier de config et voir si il y a une seconde chaîne de cacher quelque part. Espérons que cela aidera quelqu'un.
OriginalL'auteur Danish
je suis tellement désolé pour mon anglais
mais la solution est tout simplement.
vous devez supprimer les ado.net
ensuite, ouvrez l'app.conf et de supprimer la chaîne de connexion<>,
Le DÉBOGAGE de votre projet et enfin ajouter la nouvelle base de données par le biais de ado.net
OriginalL'auteur angel santa cruz