Mysql
 sql >> Base de données >  >> RDS >> Mysql

Impossible d'utiliser une connexion MySQL pour le cadre d'entité 6

DERNIÈRE MODIFICATION

Le bogue a été corrigé.

Commentaire de Chris :

2015-11-07 et vous pouvez maintenant tout faire fonctionner sans modifier aucun fichier ou faire des choses bizarres. Utilisez le programme d'installation de MySQL pour Windows et incluez la prise en charge de Visual Studio et la dernière version de Connector.Net. Assurez-vous de mettre à jour après l'installation et vous obtiendrez la dernière version de chacun (1.2.5 et 6.9.8). Utilisez NuGet pour installer EntityFramework, MySql.Data et MySql.Data.Entity. Enfin, construisez et profitez des avantages de la rétro-ingénierie en ajoutant un modèle d'entité Ado.Net.

Réponse originale

J'ai découvert que c'était un bogue de MySQL.

Voici le lien expliquant une solution de contournement.

Sur votre machine où VS 2013 est installé, plugin VS (1.1.3 GA) etConnector/Net

Fermez toutes les instances VS avant de suivre les étapes.

Dans une fenêtre de l'Explorateur Windows, accédez à ce chemin ou à l'endroit où vous avez installé vos binaires Connector/net

C:\Program Files (x86)\MySQL\Connecteur MySQL Net6.8.3\Assemblies\v4.5\

Copiez le fichier :

MySql.Data.Entity.EF6.dll

Et collez-le dans ce dossier

C:\Program Files (x86)\Microsoft Visual Studio12.0\Common7\IDE\PrivateAssemblies

S'il vous demande de l'écraser, faites-le.

Vous aurez besoin des droits d'administrateur pour écraser le fichier.

Ensuite, vous pouvez réessayer de générer le script pour votre modèle.

Il est important que vous ayez installé la version 1.1.3 du plugin VS car cette solution de contournement est là pour ça.

Malheureusement, cela ne fonctionne pas pour moi, j'ai donc rétrogradé à Entity Framework 5 jusqu'à ce qu'ils corrigent ce problème.

MODIFIER

Enfin, ça marche maintenant.

J'ai dû ajouter les 3 DLL suivantes :

  • C:\Program Files (x86)\MySQL\MySQL Connector Net6.8.3\Assemblies\v4.5\MySql.Data.dll
  • C:\Program Files (x86)\MySQL\MySQL Connector Net 6.8.3\Assemblies\v4.5\MySql.Data.Entity.EF6.dll
  • C:\Program Files (x86)\MySQL\MySQL Connector Net6.8.3\Assemblies\v4.5\MySql.Web.dll

Ensuite, j'ai changé la partie EntityFramework dans la configuration Web en :

<entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6">
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" /> 
    </providers>
  </entityFramework>

N'oubliez pas de RECONSTRUIRE et vous devriez pouvoir créer un modèle entity framework 6 avec MySQL.

IMPORTANT

Assurez-vous d'avoir installé MySQL pour Visual Studio 1.1.3 et connecteur MySQL .net 6.8.3