studio - El asistente de Entity Framework falla en MySQL
su proyecto hace referencia a la version mas reciente de entity framework oracle (5)
Cambio el archivo de configuración de
<entityFramework>.....</entityFramework>
a
<entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6">.....</entityFramework>
y todo funciona
referencia: https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework60.html
Mi pregunta es similar a esta pero el accidente ocurre más tarde. Debo interoperar un primer modelo de base de datos EF entre SQL Server y MySQL. Más específicamente, mi aplicación tenía consultas SQL simples disparadas a SQL Server o MySQL según la cadena de conexión y la configuración ( DB_TYPE=MYSQL
, etc.), teniendo ambas bases de datos con la misma estructura y manteniéndolas juntas, de modo que cada modificación al esquema de uno era reaplicado al otro.
Ahora agregué soporte de EF a la aplicación usando el primer modelo de base de datos de SQL Server. Ahora debo dejar que la aplicación se ejecute en MySQL también. Para verificar que el desarrollador anterior no dejó algo desalineado entre los dos DBMS, intenté Update model against database
* y esta vez seleccioné la conexión de MySQL a mi base de datos de desarrollo en localhost.
Después de hacer clic en Next
en la pantalla siguiente, simplemente se bloqueará y volverá al editor de EDMX.
Tengo que seguir adelante con el proyecto, estoy atrapado en esto desde hace un tiempo.
Aquí está mi fragmento de Web.config:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
<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 invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</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.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
¿Cómo puedo resolver mi problema? Reinstalé las herramientas de MySQL para Visual Studio pero no ayudé.
* Utilizo una versión localizada de Visual Studio, por lo que no conozco el inglés original para todos los comandos
Cuando miras alrededor, este parece ser un problema común. Sé de esta manera a lo largo del camino, pero tarde es mejor que nunca.
Finalmente eliminé y volví a instalar Visual Studio 2015 y MySQL y luego comencé desde cero. Luego me aseguré de caminar por el proceso trayendo solo lo que se necesitaba.
- Usando nuget instala MySql.Data 6.9.9 y MySql.Data.Entity 6.9.9. Nada más.
- Nuget no cambia la configuración web correctamente, por lo que debe cambiarla de la siguiente manera.
antes de
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
Después
<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, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
</providers>
</entityFramework>
Esto me lo arregló. No estoy seguro de que necesite reinstalar, pero seguro que necesita hacer el paso 2.
Buena suerte.
No tengo idea de por qué funciona esto, pero entré en mi Administrador de paquetes NuGet y eliminé MySql.Data.Entity (también comprobé las dependencias que eliminaron MySql.Data). Entré en mi .edmx y ejecuté el "Modelo de actualización desde la base de datos ..." y todo funcionó.
(Nota: Esto también eliminó el marco de mi entidad, así que tuve que volver a agregarlo al usar NuGet Manager)
W ... T ... F?
Tal vez otros puedan confirmar esto ...
Resolví este problema siguiendo los pasos a continuación (tenga en cuenta que estoy usando vs2015 y .net 4.5)
1) Desinstale todos los conectores mysql anteriores que tenga
2) Eliminar todas las referencias mySQL a través de paquetes NuGet
3) Descarga el conector mysql v6.8.8
4) Una vez descargado, vaya a su proyecto y agregue como referencia los archivos dll recién instalados (ubicados en la ruta de instalación, normalmente C: / Archivos de programa (x86) / MySQL / MySQL Connector Net 6.8.8 / Assemblies / v4. 5)
5) Vaya a sus paquetes NuGet y agregue MySql.Data (Versión 6.8) y MySql.Data.Entity (Versión 6.8).
6) Construye tu solución y no más crash :)
espero que esto te ayude
Tuve un problema similar. Después de instalar los paquetes Nuget ''MySql.Data 6.9.9'' y ''MySql.Data.Entity 6.9.9'', el asistente se colgó después de esa pantalla. Le adjunté un depurador y encontré que fue causado por una excepción de referencia nula en MySql.Data.Entity.EF6.dll.
Pensé que tal vez no fueran los paquetes, ya que intenté reinstalarlos, así que pensé que podría ser un problema con la instalación de MySQL para Visual Studio que está en conflicto con el DLL de MySQL EF6. La solución para mí fue simplemente reinstalar el último "MySQL para Visual Studio 1.2.6":
http://dev.mysql.com/downloads/windows/visualstudio/
Podría ser que tuviera una versión anterior (no pensé en verificar primero, así que no puedo confirmarlo).