visual tools studio para instalar framework for descargar c# mysql winforms visual-studio-2013 entity-framework-6

tools - Habilite Entity Framework 6 para MySql(C#) en WinForms de Microsoft Visual Studio 2013



instalar entity framework visual studio 2017 (14)

Antes que nada, ni siquiera necesitamos instalar mysql-installer- community -5.7.3.0-m13.msi.

  1. Instala el último mysql-visualstudio-plugin
  2. Instale el último mysql-connector-net
  3. Nuevo WinForms de C # .Net 4.5 Framework (para 4.0 debería funcionar basado en ¿Entity Framework 6 es compatible con .NET 4.0? )
  4. Instale 4 paquetes Nuget (siga la secuencia, si instala Mysql.Data.Entities antes de EntityFramework, resolverá la dependencia e instalará EntityFramework 6.0.2 pero lo que necesitamos es EntityFramework 6.1.0 )

Marco de la entidad

Mysql.Data

Mysql.Data.Entities

Mysql.Web

5.Si tiene entityFramework de etiqueta en App.config , coméntelo e inserte la nueva etiqueta entityFramework en App.config después de iniciar la etiqueta

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

6.Añadir el Modelo de Datos de la Entidad ADO.NET (como se menciona en la pregunta)

7.Después de que se genere la cadena de conexión de la entidad (como se menciona en la pregunta) y marque la configuración de conexión de la entidad Guardar en App.Config y luego haga clic en Siguiente

8. Elija su objeto de base de datos y configuraciones (tablas, vistas o procedimientos almacenados y funciones) (No tiene "¿Qué versión de Entity Framework desea usar?" Porque solo tengo un proveedor de Entity Framework 6.0, así que salte directamente el selección si mi único proveedor es válido)

9. Acabado

Felicitaciones ^^

Por cierto, es posible que necesite agregar los archivos .dll

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

dentro de esta carpeta

C: / Archivos de programa / MySQL / MySQL Connector Net 6.8.3 / Assemblies / v4.5 (ventanas de 32 bits)

C: / Archivos de programa (x86) / MySQL / MySQL Connector Net 6.8.3 / Assemblies / v4.5 (ventanas de 64 bits)

como su referencia de proyecto para otras funciones de EF6.

Ayer sabía que Entity Framework es otro método para acceder a la base de datos además de usar Dataset o DataReader, luego intenté hacer que Entity Framework 6 funcionara para mi servidor de base de datos MySql en MVS 2013.

Abro WinForms con .Net FrameWork 4.5.1. (Así que solo tengo App.config pero no aplicación / configuración web en el proyecto) Después de instalar mysql-installer-community-5.7.3.0-m13.msi y

instalar el paquete EntityFramework a través de

Menú HERRAMIENTAS -> Administrador de paquetes de biblioteca -> Administrar paquetes de NuGet para solución ... -> Online -> (Buscar) EntityFramework (tenga cuidado con la versión de este paquete y debería ser la versión 6.0.2, si no, haga clic en Actualizaciones -> EntityFramework actualizar)

Cuando intenté agregar ADO.NET Entity Data Model a través de

Haga clic derecho en Proyecto -> Agregar -> Nuevo elemento -> Modelo de datos de entidad ADO.NET -> Generar desde base de datos -> Nueva conexión -> Fuentes de datos: -> Cambiar ...-> Base de datos MySQL -> Complete el nombre del servidor con IP del servidor, Nombre de usuario y Contraseña -> Elija el nombre de la Base de datos-> Probar conexión -> Aceptar

Luego se genera la cadena de conexión de entidad -> Marque Guardar configuración de conexión de entidad en App.Config como -> Siguiente> ->

¿Qué versión de Entity Framework quieres usar? Tener la opción Entity Framework 6.0 pero no puedes usarla porque

"Su proyecto hace referencia a la última versión de Entity Framework, pero no se encontró 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 vuelva a generar su proyecto antes de realizar esta acción".

¿Cómo resolver esto?

Por cierto, si instala Entity Framework versión 5 en Nuget Package, entonces podría tener la opción Entity Framework 5.0 aquí y podría usar Entity Framework 5 pero no la versión 6.


Asegúrese de que su DbContext tenga la anotación que se muestra en la documentación de MySQL:

[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))] public partial class MyDbContext : DbContext { }

Seguí encontrando que mi primera aplicación ASP.NET MVC de base de datos me permitía actualizar mi archivo EDMX hasta que lo saqué del control de fuente en otra máquina.

Espero que esto ayude a alguien que no puede actualizar su EDMX o encuentre el error al usar MySQL con Entity Framework 6 ya que me encontré con el mismo error hasta que agregué la anotación.


Cuando agregamos el elemento Modelo de datos de entidad ADO.NET con conexión Oracle, aparece un mensaje de error que muestra "Su proyecto hace referencia a la última versión de Entity Framework ..."

Los pasos de resolución están aquí;

  1. Instale Oracle ODTwithODAC122010 como un 32 bits

  2. Crea tu proyecto en VS2017

  3. Cambia la plataforma de solución activa a 32 bits desde AnyCPU

  4. Herramientas abiertas-> Nuget PackageManager-> Administrar paquetes de Nuget para la solución

  5. Escriba el área de navegación "ODP" e instale el siguiente programa

Oráculo. ManagedDataAccess y Oracle.ManagedDataAccess.EntityFramework

6. Herramientas abiertas-> Nuget PackageManager-> Package Manager Console

7.Escribe este Install-Package EntityFramework -Version 6.1.1 y Enter

8.Re-Start Visual Studio para finalizar el proceso

9. Reconstruye tu aplicación

  1. Agregar nuevo elemento Modelo de datos de entidad ADO.NET

11.Si es necesario, agregue una nueva conexión a Oracle (origen de datos = base de datos Oracle (ODP.NET, controlador administrado))

12.Todo está bien.

Tenga en cuenta que la pregunta EF6.1.3 no está funcionando con VS2017 y Oracle ODTwithODAC122010. Pero después de todos estos procesos he cambiado EF como EF6.1.3, está funcionando, pero no te aconsejo.


Después de luchar durante horas durante los últimos 2 días, lo que finalmente me ayudó es revertir todo mi código al antiguo código EF5, eliminar el Modelo de Datos de Entidad ADO .NET y volver a agregarlo SIN elegir entity framework 6.0 (que estaba deshabilitado) , pero eligiendo 5.0. Debido al último conector mysql, el plugin visual studio y todo lo demás que instalé como se mencionó anteriormente, visual studio agregó automáticamente un modelo de entidad Entity Framework 6.0 ADO ignorando mi "selección". Luego agregué todas las referencias manualmente en cualquier proyecto que se lo pidiera (EntityFramework, mysql.data, mysql.data.entity.EF6 ver 6.9.6) y finalmente funcionó.


La solución es la siguiente:

  1. Instalar MySQL Visual Studio Plugin
  2. Instalar MySQL Connector para .NET
  3. Agregue referencias en el proyecto de ensamblajes MySQLConnector dentro de archivos de programa.
  4. Eliminar el código anterior de App.Config o Web.Config

    <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> <parameters> <parameter value="mssqllocaldb" /> </parameters> </defaultConnectionFactory> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> </providers> </entityFramework>

  5. Reemplace con el código que se indica a continuación:

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

  6. Reconstruya el proyecto e intente agregar el nuevo modelo de datos de la entidad ADO .NET


La solución que funcionó para mí fue primero seguir los pasos de @ V-SHY e instalar MySql.Data.Entity


Logré ponerlo en funcionamiento eliminando las referencias de:

MySql.Data.Entity.EF6 MySql.Data

Y en su lugar, instalé el Nuget

MySql.Data.Entity

Lo que hizo no es solo agregar referencias a los marcos eliminados anteriormente, sino que también realizó algunos cambios de configuración en el proyecto. Después de instalar el nuget, también reconstruí el proyecto, para que los archivos dll se agregaran al directorio bin.


Para mí, esto parece tener algo que ver con los controladores de base de datos VS 64 bit de 32 bits.

Al menos en este punto puedo cambiar entre tener este error y no tener este error cambiando mi configuración a x64. Probar cualquier CPU no funciona, y probar x86 no funciona.

No estoy seguro de dónde decidir si usar controladores MySQL de 32 o 64 bits; el instalador dice que debe instalar ambos.

(También necesitaba agregar uno o más de los paquetes MySql.Data , MySql.Data.Entity y MySql.Data.Entities , así como EntityFramework .)

Una vez que tuve el modelo agregado a mi proyecto, pude cambiar el proyecto a x86 sin problemas hasta el momento.


Paso todo el día tratando de resolver este problema y nada me ayuda. Aparentemente descubrí 1 cosas sobre las cuales la gente no menciona

En las propiedades model.edmx existe toda la "Plantilla de generación DDL", por defecto se establece en "SSDLToSQL10.tt (VS)" pero debe establecerse en "SSDLToMySQL.tt (VS)"

Lo que es más, también producía un error:

Ejecución de la transformación: System.NullReferenceException: referencia de objeto no establecida en una instancia de un objeto.
bla bla bla
línea 93 c: / Archivos de programa (x86) / Microsoft Visual Studio 12.0 / Common7 / IDE / Extensions / Microsoft / Entity Framework Tools / DBGen / SSDLToMySQL.tt

Lo que me lleva al error oficial en "MySQL para Visual Studio 1.1.3", que se solucionará en la próxima compilación 1.1.4, que no está disponible hasta el momento.

Sin embargo, hay una solución provisional:
Sobrescriba el "MySql.Data.Entity.EF6.dll" en
C: / Archivos de programa (x86) / Microsoft Visual Studio 12.0 / Common7 / IDE / PrivateAssemblies
por archivo de NET Connector en
C: / Archivos de programa (x86) / MySQL / MySQL Connector Net 6.8.3 / Assemblies / v4.5 /


Seguí las instrucciones dadas por V-Shy y estaba teniendo el mismo problema que LaRae White con el asistente cerrándose sobre mí. Estoy ejecutando VS2015 y acabo de utilizar el instalador MySql para actualizar a MySQL para Visual Studio v1.2.6 y Connector / NET v6.9.8.

Lo que finalmente hice para que funcione es esto:

  1. Desinstale todos los paquetes que había instalado previamente para resolver este problema (EntityFramework, Mysql.Data, Mysql.Data.Entities, Mysql.Web)
  2. Se agregaron las siguientes referencias encontradas en C: / Archivos de programa (x86) / MySQL / Connector.NET 6.9 / Assemblies / v4.5 manualmente: MySql.Data.dll, MySql.Data.Entity.EF6.dll y MySql.Web. dll

Espero que eso ayude a alguien.


Tengo un problema similar con VS2013 Community, pero el mío no es WinForm sino ASP.NET MVC. Después de seguir todas las soluciones anteriores y mis problemas todavía están allí, pero ellos (especialmente Hamed) me dieron algunas ideas para solucionarlo.

Entonces, si sigues desplazándote hasta aquí, esto también podría darte una idea. Yo tengo:

  1. Instalado MySQL Connector NET 6.8.4 (6.9.5 no parece funcionar).
  2. Leaved MySQL para VS 1.2.3 como está (no es necesario instalar 1.1.1 ya que 1.2.3 funcionó).
  3. Instalado MySQL.data Mysql.Data.entities desde NuGet.
  4. Se eliminó todo MySQL.dll de D: / Archivos de programa (x86) / Microsoft Visual Studio 12.0 / Common7 / IDE / PrivateAssemblies.
  5. Hecho como dijo Hamed.
  6. Solución reconstruida.
  7. Se agregó un nuevo modelo de entidad ADO.NET con éxito.

Espero que esto ayude.


Tuve el mismo problema e intenté varias correcciones como las de aquí, también algunas del foro MySQL y aún no pude actualizar mi EDMX.

Después de un tiempo (horas terriblemente largas), logré que esto funcionara con la actualización 3 de VS 2013, el conector .9.4 de .Net, Mysql for VS 1.2.3 para mi aplicación Mvc.

Primero, probé una máquina nueva, todo funcionó con una simple instalación de VS seguida del conector y Mysql para VS. Luego, también probé con un antiguo VS 2012 y también funcionó. Ya había escrito algunos proyectos con EF5 en mi máquina y supuse que los viejos archivos EF5 podrían estar interfiriendo con los de EF6.

Así que esto es lo que hice, pero debes tener en cuenta que este es un problema relacionado con la máquina y que te estoy dando una lista de todas las cosas que probé con desesperación:

  1. Elimine todo el MySql. *. Dll en la carpeta C: / Archivos de programa (x86) / Microsoft Visual Studio 12.0 / Common7 / IDE / PrivateAssemblies

  2. Sobrescribir MySql.Data.Entity.dll en la carpeta C: / Archivos de programa (x86) / Microsoft Visual Studio 12.0 / Common7 / IDE / PublicAssemblies con el de la carpeta Connector

  3. Desinstale EntityFramework de su proyecto en la consola Nuget y, a continuación, desactívela a EF 6.0.0: Install-Package EntityFramework -ProjectName YourProject -version 6.0.0

  4. Agregue la referencia a MySql.Data.Entity.EF6 no con Nuget sino haciendo referencia al archivo directamente (C: / Archivos de programa (x86) / MySQL / MySQL Connector Net 6.9.4 / Assemblies / v4.5 / MySql.Data.Entity .EF6.dll)

Mi archivo app.config se ve así

<configuration> <configSections> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --></configSections> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> <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> <connectionStrings> <!-- your connection string here --> </connectionStrings> </configuration>

Y las referencias agregadas en el proyecto son estas tres

  • Marco de la entidad
  • EntityFramework.SqlServer
  • MySql.Data.Entity.EF6

Tal vez algunos de los pasos fueron inútiles, pero ahora finalmente puedo actualizar mi archivo EDMX, y, por supuesto, construir y ejecutar el Proyecto Web y VS no parece verse afectado por la eliminación de los archivos DLL MySql. Espero eso ayude.


Tuve el mismo problema también. En mi caso, tuve que:

  • Reconstruya el proyecto después de agregar paquetes antes de iniciar el asistente de agregar modelos.
  • Desinstale la última versión del paquete de entidad de marco y vuelva a la versión 6.0.0.0.
  • NO instale Mysql.Data.Entities.EF6 después de instalar Mysql.Data.Entities !!
  • Cambie el archivo de configuración para que solo un proveedor MySql.Data.MySqlClient esté dentro de los proveedores y que debería haber incluido la versión:

    <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.9.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider> </providers>


Tuve problemas como ih303. Cómo lo arreglé:

-Solución de seguimiento V-SHY

-si no hay mensajes de error o algo así, el asistente simplemente se va -> hacer la siguiente solución (que funcionó para mí):

en lugar de poner en:

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

cámbielo a lo siguiente:

<entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> <parameters> <parameter value="mssqllocaldb" /> </parameters> </defaultConnectionFactory> <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>

reconstruir -> agregar asistente, etc. -> debería funcionar.