sql >> Base de Datos >  >> RDS >> Mysql

Error de compatibilidad del proveedor de base de datos de Entity Framework

Parece que estos app.config Las líneas a continuación apuntan directamente a la fuente del problema:

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

Esto significa que su máquina tiene instalada una versión anterior de MySQL Connector .NET que también hace referencia dentro del archivo de configuración (6.8.3.0), por lo tanto, primero debe desinstalar las versiones anteriores de MySQL Connector .NET (también elimine su cadena de proveedor EF). Luego, asegúrese de las referencias de MySql.Data.dll , MySql.Data.Entity.EF6.dll &MySql.Web.dll bibliotecas a las que se hace referencia a la última versión (6.9.9.0) y entityFramework La sección en app.config debería verse así:

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

Luego, limpie y reconstruya el proyecto.

NB:puede intentar reemplazar las bibliotecas de MySQL en \Program Files\Microsoft Visual Studio [version number]\Common7\IDE\PrivateAssemblies con los de \Program Files\MySQL\MySQL Connector Net 6.9.9\Assemblies\v4.5 si aún existen ensamblajes de versiones anteriores.

Problema relacionado:

Conector MySQL con EF6 en Visual Studio 2013