Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kann keine MySQL-Verbindung für Entity Framework 6 verwenden

LETZTE BEARBEITUNG

Der Fehler wurde behoben.

Kommentar von Chris:

2015-11-07 und Sie können jetzt alles zum Laufen bringen, ohne Dateien zu bearbeiten oder seltsame Dinge zu tun. Verwenden Sie das MySQL für Windows-Installationsprogramm und schließen Sie die Visual Studio-Unterstützung und das neueste Connector.Net ein. Stellen Sie sicher, dass Sie nach der Installation aktualisieren, und Sie erhalten jeweils das Neueste (1.2.5 und 6.9.8). Verwenden Sie NuGet, um EntityFramework, MySql.Data und MySql.Data.Entity zu installieren. Schließlich können Sie Code-First-Reverse-Engineering-Vorteile erstellen und genießen, indem Sie ein Ado.Net-Entitätsmodell hinzufügen.

Originalantwort

Ich habe herausgefunden, dass es sich um einen Fehler von MySQL handelt.

Hier ist der Link erklärt eine Problemumgehung.

Auf Ihrem Computer, auf dem VS 2013 installiert ist, VS-Plugin (1.1.3 GA) und Connector/Net

Schließen Sie alle VS-Instanzen, bevor Sie die Schritte ausführen.

Wechseln Sie in einem Windows Explorer-Fenster zu diesem Pfad oder dorthin, wo Sie Ihre Connector/net-Binärdateien installiert haben

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

Kopieren Sie die Datei:

MySql.Data.Entity.EF6.dll

Und fügen Sie es in diesen Ordner ein

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

Wenn Sie aufgefordert werden, es zu überschreiben, tun Sie dies bitte.

Sie benötigen Administratorrechte, um die Datei zu überschreiben.

Anschließend können Sie erneut versuchen, das Skript für Ihr Modell zu generieren.

Es ist wichtig, dass Sie die Version 1.1.3 des VS-Plug-Ins installiert haben, da dieser Workaround dafür gedacht ist.

Leider funktioniert es bei mir nicht, also habe ich auf Entity Framework 5 heruntergestuft, bis sie das beheben.

BEARBEITEN

Endlich funktioniert es jetzt.

Ich musste die 3 folgenden DLLs hinzufügen:

  • C:\Programme (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:\Programme (x86)\MySQL\MySQL Connector Net6.8.3\Assemblies\v4.5\MySql.Web.dll

Dann habe ich den EntityFramework-Teil in der Webkonfiguration auf :

geändert
<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>

Vergessen Sie nicht, WIEDERHERZUSTELLEN und Sie sollten in der Lage sein, mit MySQL ein Entity Framework 6-Modell zu erstellen.

WICHTIG

Stellen Sie sicher, dass Sie MySQL für Visual Studio 1.1.3 installiert haben und MySQL-Connector .net 6.8.3