Mysql
 sql >> Database >  >> RDS >> Mysql

Impossibile utilizzare una connessione MySQL per il framework di entità 6

ULTIMA MODIFICA

Il bug è stato corretto.

Commento di Chris:

2015-11-07 e ora puoi far funzionare tutto senza modificare alcun file o fare cose strane. Usa il programma di installazione di MySQL per Windows e includi il supporto per Visual Studio e la versione più recente di Connector.Net. Assicurati di aggiornare dopo l'installazione e otterrai l'ultima di ciascuno (1.2.5 e 6.9.8). Usare NuGet per installare EntityFramework, MySql.Data e MySql.Data.Entity. Infine, crea e goditi la bontà del reverse engineering code-first aggiungendo un modello di entità Ado.Net.

Risposta originale

Ho scoperto che è un bug di MySQL.

Ecco il collegamento che spiega una soluzione alternativa.

Sul computer in cui è installato VS 2013, plug-in VS (1.1.3 GA) e connettore/rete

Chiudi tutte le istanze VS prima di eseguire i passaggi.

In una finestra di Windows Explorer, vai a questo percorso o ovunque hai installato i tuoi binari Connector/net

C:\Programmi (x86)\MySQL\MySQL Connector Net6.8.3\Assemblies\v4.5\

Copia il file:

MySql.Data.Entity.EF6.dll

E incollalo in questa cartella

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

Se ti chiede di sovrascriverlo, fallo.

Avrai bisogno dei diritti di amministratore per sovrascrivere il file.

Quindi puoi riprovare a generare lo script per il tuo modello.

È importante che tu abbia installato la versione 1.1.3 del plugin VS poiché questa soluzione è per questo.

Sfortunatamente non funziona per me, quindi ho eseguito il downgrade a Entity Framework 5 fino a quando non hanno risolto il problema.

MODIFICA

Finalmente ora funziona.

Ho dovuto aggiungere le 3 seguenti DLL:

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

Quindi ho modificato la parte EntityFramework nella configurazione web in :

<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>

Non dimenticare di RICOSTRUIRE e dovresti essere in grado di creare un modello di entità framework 6 con MySQL.

IMPORTANTE

Assicurati di aver installato MySQL per Visual Studio 1.1.3 e connettore MySQL .net 6.8.3