J'essaie d'ajouter un modèle edmx Entity à mon projet C #/Web dans Visual Studio 2013. Mon problème est que le fichier n'est pas créé.
Je fais les étapes suivantes:
Aucun fichier edmx n'est créé. (bien que cela fonctionne avec SQL Server, mais pas pour MySQL)
J'ai installé Entity Framework 6.1.2
, MySql.Data
, MySql.Data.Entities
, MySql.Data.Entity
, MySql.Web
- tous installés.
J'ai également reconstruit le projet avant d'essayer d'ajouter un fichier de modèle d'entité.
J'ai installé le dernier paquet MySQL avec le dernier .NET connector
.
En cours d'exécution: Visual Studio 2013 sur Windows 7.
Des idées pour résoudre ça?
J'ai résolu ce problème en suivant les étapes ci-dessous:
Désinstallez MySql.Data.Entities
de Nuget à l’aide de la commande ci-dessous dans la console Package Manager: Uninstall-Package MySql.Data.Entities
Ajoutez une référence de projet à la dernière MySql.Data.Entity.EF6.dll
à partir de votre chemin d'installation du connecteur MySql à l'adresse: C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.8\Assemblies\v4.5
Je viens de vivre la même situation lorsque j'ai essayé de configurer l'environnement Visual Studio Professional 2017 avec MySQL, ADO.NET (Database First) et EF6.
Remarque: veuillez suivre les étapes dans le même ordre.
Désinstallez/supprimez "Connector/NET" et "MySQL pour Visual Studio" s’il est installé.
Installez "MySQL pour Visual Studio" v2.0.5 CTP ( MySQL pour Visual Studio ) . Remarque: Installez MySQL pour Visual Studio avant Connector/NET.
Installez "Connector/NET" v6.9.10 (/ Connector/Net ). https://i.stack.imgur.com/XOT1I.jpg Remarque: j'ai d'abord essayé d'utiliser Connector/NET v6.8, v6.10 et v8, mais aucun d'eux ne fonctionnait avec Visual Studio 2017. et ADO.Net. Vous pouvez trouver ici toutes les versions de connecteur et toutes les compatibilités avec les IDE de Visual Studio , mais cette liste est inexacte jusqu'à présent.
Créez un nouveau projet Visual Studio Professional 2017.
Téléchargez et installez "EntityFramework" v6.2.0 via NuGet en accédant à l’onglet Projet/Gérer les packages NuGet/Parcourir -> Entity Framework.
Ajoutez des références à C:\Program Files (x86)\MySQL\Connector.NET 6.9.10\Assemblies\v4.5\MySql.Data.dll
Et C:\Program Files (x86)\MySQL\Connector.NET 6.9.10\Assemblies\v4.5\MySql.Data.Entity.EF6.dll
; Cliquez avec le bouton droit de la souris sur les références dans l’explorateur de solutions et sélectionnez le bouton Ajouter une référence/Navigation -> Parcourir.
Ajoutez les informations sur le fournisseur MySQL EF6 dans App.config sous les fournisseurs de structure d'entité comme suit:
<entityFramework>
<providers>
<provider invariantName="MySql.Data.MySqlClient"
type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
</providers>
</entityFramework>
Et c'est tout. VS2017 est prêt à partir. J'espère que cela fonctionne pour tout le monde, comme cela a été le cas pour moi aujourd'hui.
Références:
VS 2015 a toujours ce bogue . Il est dû à une non concordance de version.
Sur mon système, j'avais MySQL Connector 6.9.6.
Émission de la commande dans la console NuGet Package Manger:
Install-Package MySql.Data.Entity
installe la version 6.9.8 par défaut. Votre connecteur doit correspondre à la version actuelle du package NuGet.
Vous pouvez télécharger une version mise à jour du connecteur à partir de: https://www.mysql.com/products/connector/
Sélectionnez ici le "pilote Ado.net pour MySQL" et téléchargez la version correspondante (6.9.8) . Rouvrez Visual Studio et l’assistant ne se bloque plus . Aucun redémarrage requis.
J'ai pu résoudre ce problème en procédant comme suit:
Prendre des suggestions sur d'autres versions de NuGet à propos des versions… .. J'ai résolu ce problème en supprimant les .Data
et Data.Entitiy.EF6
installés par Nuget.
Ensuite, faites un clic droit sur Références et recherchez:
C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.dll
and C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.Entity.EF6.dll
J'ai ensuite pu terminer l'assistant ADO.Net, avec les modèles .edmx.
Je connais la solution.
Nuget installe la version Edge des packages MySql.Data. *, Alors que vous disposez probablement de la version précédente du connecteur (dans mon cas, les packages étaient v. 6.9.6 et Connector, 6.9.5). Cela arrive au point où vous avez une incompatibilité de version.
Sachez que si vous utilisezInstall-Package MySql.Data.Entitiesdans NuGet, vous obtiendrez une version encore plus ancienne comme 6.8.3. Vous devez donc ajouter les références vous-même et garder un œil sur lequel celle que vous essayez d’ajouter à votre solution.
J'ai eu le même problème en utilisant MySQL Connector 6.9.8.0. Bien que toutes mes versions correspondent, cela a encore échoué. J'avais installé une nouvelle version de Visual Studio APRÈS le connecteur MySQL (de 2010 à 2013). Pour moi, la solution consistait à désinstaller MySQL Connector for NET, puis à le réinstaller (version identique exacte). Puis redémarrez Visual Studio.
On dirait que ceci est une autre version du même problème.
Vous pouvez faire cette solution:
C'est un travail pour moi :)
J'ai changé mon fichier web.config depuis:
<fournisseur invariantName = "MySql.Data.MySqlClient" type = "MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version = 8.0.11.0, Culture = neutre, PublicKeyToken = c5687fc8896c".
À:
<provider invariantName = "MySql.Data.MySqlClient" type = "MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"> </ fournisseur>
Ceci est pour une application ASP.NET MVC, qui n'a pas de fichier app.config . Je ne vais pas raconter les tentatives infructueuses, mais ce qui a fonctionné pour moi a été le suivant: -
<provider invariantName = "MySql.Data.MySqlClient" type = "MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data. EntityFramework ">
Supprimez ou commentez toute autre ligne '<fournisseur invariantName = "MySql.Data.MySqlClient" ...'.
Reconstruisez le projet.
Essayez d'utiliser à nouveau l'assistant.
Pour moi cela a fonctionné.
Bonne chance!
autre chose à essayer:
---> Installez entityframework 6.2.0 via nuget.
---> Vérifiez dans votre fichier web.config/app.config que vous avez le fournisseur System.Data.SqlServerCe.4.0
. s'il n'est pas installé, installez-le via nuget, exactement de la même version que l'entité framework précédemment installée (6.2.0 dans ce cas).
---> puis ajoutez les références: (dans ce cas, à partir du connecteur/version NET 6.9.10) C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.dll
et C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5\MySql.Data.Entity.EF6.dll
et reconstruit.
---> essayez également d'ajouter ce fournisseur: <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
reconstruire, à nouveau.
---> et enfin, essayez d'ajouter le fichier .edmx avec une nouvelle connexion.
Cela a fonctionné dans mon cas où j'ai installé VS2017 et MySQL dans un tout nouvel ordinateur portable, et j'ai eu le même problème.