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

Kompatibilitätsfehler des Entity Framework-Datenbankanbieters

Scheint, dass diese app.config Die folgenden Zeilen weisen direkt auf die Problemquelle hin:

<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>

<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>

Dies bedeutet, dass auf Ihrem Computer eine frühere Version von MySQL Connector .NET installiert ist, auf die auch in der Konfigurationsdatei (6.8.3.0) verwiesen wird. Daher müssen Sie zuerst frühere Versionen von MySQL Connector .NET deinstallieren (auch die EF-Anbieterzeichenfolge entfernen). Stellen Sie dann Verweise auf MySql.Data.dll sicher , MySql.Data.Entity.EF6.dll &MySql.Web.dll Bibliotheken, die auf die neueste Version (6.9.9.0) und entityFramework verweisen Abschnitt in app.config sollte so aussehen:

<entityFramework>
  <defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
  <providers>
    <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
    <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
  </providers>
</entityFramework>

Bereinigen Sie anschließend das Projekt und bauen Sie es neu auf.

Hinweis:Sie können versuchen, MySQL-Bibliotheken in \Program Files\Microsoft Visual Studio [version number]\Common7\IDE\PrivateAssemblies zu ersetzen mit denen in \Program Files\MySQL\MySQL Connector Net 6.9.9\Assemblies\v4.5 wenn noch Assemblies der vorherigen Version vorhanden sind.

Verwandtes Problem:

MySQL-Connector mit EF6 in Visual Studio 2013