Registre entityFramework con MySql.Data 6.7.2.0 conector

asp.net asp.net-mvc entity-framework-6 mono mysql.data

Pregunta

He intentado configurar mi proyecto web para usar la versión previa a MySQL de los conectores .net, versión 6.7.2.0. Sin embargo, sigo recibiendo este mensaje, incluso si intento configurar mi proyecto lo mejor posible para usar la versión 6.7.2.0 de los conectores.

Tal como está ahora, sigo recibiendo este mensaje de error:

No se ha encontrado ningún proveedor de Entity Framework para el proveedor de ADO.NET 'MySql.Data.MySqlClient'. Asegúrese de que el proveedor esté registrado en la sección 'entityFramework' del archivo de configuración de la aplicación. Consulte http://go.microsoft.com/fwlink/?LinkId=260882 para obtener más información.

He intentado diferentes formas de configurar mi archivo Web.config, y aquí está mi configuración actual:

  <system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient" />
        <add name="MySQL Data Provider"
             invariant="MySql.Data.MySqlClient"
             description=".Net Framework Data Provider for MySQL"
             type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.7.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  </system.data>
  <entityFramework>
    <defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />
  </entityFramework>

He instalado EF6 alfa3 de NuGet. Actualmente, mi conector se ha instalado manualmente desde este archivo descargado . Intenté instalarlo desde el repositorio de NuGet, pero con el mismo resultado.

Respuesta aceptada

Además de registrar el proveedor ADO.NET, debe registrar el proveedor de Entity Framework:

<entityFramework>
  <providers>
    <provider invariantName="MySql.Data.MySqlClient"
              type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity" />
  </providers>
</entityFramework>

También debe asegurarse de que el proveedor se haya creado en Entity Framework 6. Consulte este artículo para obtener más información sobre esto.


Respuesta popular

Tuve un problema similar Después de regresar a EF5 y MySql Connector 5.6 y aún no funciona, finalmente encontré un feed donde alguien mencionó que tenía que eliminar la versión y la referencia cultural para que funcionara. No tengo idea de por qué. Aquí:

 <system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient" />
        <add name="MySQL Data Provider"
             invariant="MySql.Data.MySqlClient"
             description=".Net Framework Data Provider for MySQL"
             type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  </system.data>
   <entityFramework>
<defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />




Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué