visual studio para net descargar data conector agregar c# mysql asp.net-mvc entity-framework

studio - mysql connector c#



Conector MySQL con EF6 en Visual Studio 2013 (14)

Estoy intentando conectarme a MySQL a través de una aplicación web C # .NET MVC.

Mi problema es que cuando intento agregar un Modelo de Datos de Entidad ADO.NET, generado desde la Base de Datos, basado en mi conexión MySQL, recibo el siguiente mensaje de error:

Su proyecto hace referencia a la última versión de Entity Framework; sin embargo, no se pudo encontrar un proveedor de base de datos de Entity Framework compatible con esta versión para su conexión de datos. Salga de este asistente, instale un proveedor compatible y reconstruya su proyecto antes de realizar esta acción

Estoy ejecutando el siguiente software, actualizaciones y complementos:

  • Visual Studio 2013
  • Servidor MySQL v5.6.21
  • MySQL para Visual Studio v1.2.3
  • Conector / NET v6.9.4

Paquetes NuGet:

  • EntityFramework v6.1.1
  • MySQL.Data v6.9.3
  • MySQL.Data.Entities v6.8.3.0
  • SQL.Web v6.9.3

Mi web.config, bloque entityFramework:

.. </system.webServer> <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" /> </providers> </entityFramework> <runtime> ..

He analizado todas las demás soluciones que pude encontrar aquí en SO y, en general, a través de google, intenté con todas ellas y ninguna de las soluciones parece haber funcionado o ha sido para versiones muy diferentes de Connector / NET u otro de los programas necesarios.

¿Alguien puede detectar lo que estoy haciendo mal?


Agregué esto que lo resolvió para mí:

<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime>


Ahora bien, este no es un problema que haya tenido yo mismo, pero sí encontré la siguiente solución posible:

  1. Haga clic derecho en la solución (nivel superior en el explorador de soluciones).
  2. Administrar paquetes de Nuget para la solución.
  3. Ve a la pestaña Instalado.
  4. Para todos los paquetes relacionados con EntityFramework (MySql.Data, MySql.Data.Entities, MySql.ConnectorNET.Entity y MySql.ConnectorNET.Data), selecciónelos y luego seleccione el botón "Administrar".
  5. Habilite cada paquete para todos los proyectos.

Lo que noté aquí fue que tenía dos paquetes adicionales que no mencionó "MySql.ConnectorNET.Entity" y "MySql.ConnectorNet.Data". Puede ser que te falten estos y se necesiten para trabajar con Entity Framework 6.1.1

(Fuente: No se encontró un proveedor de Entity Framework para )


Estaba usando la comunidad visual studio 2013. Quería hacer Code First en MySQL db. Estaba teniendo el mismo problema de "Su proyecto hace referencia a la última versión de Entity Framework; ..." Lo que resolvió mi problema fueron los pasos simples que se detallan a continuación.

  1. Después de agregar un proyecto, use la consola nuget para agregar EntityFramework6.1.3, mediante el paquete de instalación EntityFramework
  2. Consola de usuario para agregar referencia MySQL por MySQL.Data.Entity
  3. Abra su Web.config o App.config para cambiar las secciones del entityframework y system.data como se indica a continuación

    <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices,EntityFramework.SqlServer" /> <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"> </provider> </providers> </entityFramework> <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.9.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> </DbProviderFactories> </system.data>

  4. En este punto, asegúrese de reconstruir su proyecto. (Es un deber)

  5. Ahora agregue ADO Entity Models y elija MySQL y funciona.

Por cierto, los complementos que uso son M4VS 1.2.3 y MySQL .NET Connector 6.9.7


Esto funcionó para mí SIN reinstalar el Visual Studio ni nada de eso.

  • instalado el último complemento de estudio visual MySQL y conector MySQL neta
  • eliminó la etiqueta entityFramework en App.config o Web.config y todas sus etiquetas secundarias.
  • lo reemplazó con el siguiente código:

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

  • agregó referencias de MySql.Data.dll, MySql.Data.Entity.EF6.dll y MySql.Web.dll (si no es WPF) al proyecto.
  • reconstruyó el proyecto y luego agregó el modelo ado.net.

NOTA : asegúrese de eliminar solo la etiqueta entityFramework y sus hijos, y reemplácela por la anterior. Si borras cualquier etiqueta "adicional", es posible que tengas problemas aún mayores con tu proyecto, como yo. X)


He encontrado el mismo problema. Afortunadamente, lo arreglé. MySql.Data.dll o MySql.Data.Entity.EF6.dll no es compatible con la versión EF 6.1. Lo que hice fue instalar EF versión 6.0.0.0 en la consola nuget con este comando -> install-package entityframework -version 6.0.0.0 y solucionó el problema.


La solución básica es reinstalar MySQL y VisualStudio incluyendo Entity y .NET.

Por alguna razón, no estoy seguro de por qué, el proceso de instalación corrompe las DLL, o al menos esa es la experiencia que tuve y otros colegas. Nuestra solución ha sido probar todo lo anterior sin ningún resultado. Así que al final intentamos reinstalar, y funcionó. Entonces inténtalo :)


La solución es agregar esto a app.config / web.config en el proyecto que está tratando de agregar / modificar el modelo de datos.

<system.data> <DbProviderFactories> <clear /> <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.9.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> </DbProviderFactories> </system.data>

cambie la versión según su conector.


Si necesita utilizar EntityFramework con una base de datos mysql, solo necesita instalar una versión anterior de EntityFramework como v 5.0 con la consola del administrador de paquetes. Escribir Install-Package EntityFramework -Version 5.0.0. Disfrutar. https://www.nuget.org/packages/EntityFramework/5.0.0


Simplemente estaba usando Nuget para hacer referencia a MySQL.dll (etc.) y hacía referencia automáticamente a los archivos dll de .net 4.0. Acabo de cambiar las referencias a 4.5 y funcionó.


Solo agregue a web.config:

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

No olvide reconstruir la solución antes de intentar agregar un Modelo de datos de entidad ADO.NET, generado desde la base de datos, nuevamente.


Tengo un proyecto en funcionamiento con la versión 6.8.3 de MySQL Connector Libraries y EF6 v6.0.0. Recuerdo este error, creo que he resuelto agregar una línea a app.config manualmente.

Enumero las líneas en mi aplicación. La configuración relacionada con EF6 y la configuración de MySQL, son diferentes a las tuyas, tal vez te ayude a:

<configSections> ... <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections> <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> <providers> <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider> </providers> </entityFramework>

Instalé MySQL Connector Net 6.8.3 con el paquete descargado del sitio de MySQL, y agregué dos referencias al Proyecto: MySql.Data y MySql.Data.Entity.EF6, ambas 6.8.3 versión (noté que estás usando versiones diferentes de estos archivos ...).

Agregué EF6 (v 6.0.0) al proyecto a través de Nuget.

No son las últimas versiones, pero espero que esto ayude.


Tuve el mismo problema. Después de instalar:

  • Visual Studio 2013 Community Edition
  • MySQL para Visual Studio 1.2.3
  • MySQL Connector .NET 6.9.5

No quería reinstalar Visual Studio, así que después de algunas pruebas, encontré que la carpeta " C: / Archivos de programa (x86) / Microsoft Visual Studio 12.0 / Common7 / IDE / PrivateAssemblies " contenía versiones antiguas de los siguientes archivos:

  • MySql.Data.dll
  • MySql.Data.Entity.EF6.dll
  • MySql.Web.dll

Después de cerrar Visual Studio, reemplacé estos archivos con los de " C: / Archivos de programa (x86) / MySQL / MySQL Connector Net 6.9.5 / Assemblies / v4.5 ", ¡y ahora funciona!

Nota: reemplace 6.9.5 en el nombre de la subcarpeta anterior, con la versión actual instalada en su sistema.


en primer lugar, vuelva a instalar contra 1.2.3, agregue las siguientes referencias a su proyecto o verifique sus versiones:

MySql.Data.dll

MySql.Data.Entity.EF6.dll

MySql.Web.dll

Elimine la etiqueta entityFramework predeterminada en App.config o Web.config. Reconstruya su proyecto. Puede agregar el modelo de datos de entidad ADO.NET.


hacer en nuget línea de comando

update-package -reinstall -ignoreDependencies

y reconstruir la solución este trabajo o yo