¿Existe un Generador POCO de la Base de Datos 7 de Entity Framework 7?

He estado jugando con Entity Framework 7 y ASP.NET 5 para un nuevo proyecto en el que estoy trabajando, pero me he topado con un obstáculo. El equipo en el que estoy trabajando utiliza un enfoque de desarrollo DBA-first; es decir, la base de datos está diseñada por DBA y luego los desarrolladores modifican el código para compensar los cambios del modelo.

Usar EF6, esto funciona bien, ya que solo podemos actualizar el código usando la funcionalidad de “actualización” del diseñador de EDMX. Un clic, obtenemos las nuevas clases, y terminamos. Sin embargo, en EF7, todo es diferente. No hay más diseñador, y se supone que debemos usar Code-First, que de acuerdo con algunas publicaciones del blog por parte del equipo de EF, también debería ser compatible con la generación de código “Database-First”.

Sin embargo, no puedo encontrar la manera de hacerlo con Visual Studio 2015 CTP6 en una aplicación ASP.NET 5. ¿El soporte de herramientas está allí todavía o no tengo suerte? ¿Y está llegando siquiera?

En los últimos bits es posible usar el símbolo del sistema dnx y los comandos de PowerShell para hacer esto, sí

Scaffold-DbContext '' EntityFramework.MicrosoftSqlServer 

o

 dnx ef dbcontext scaffold "" EntityFramework.MicrosoftSqlServer 

o (desde EF Core RC2)

 dotnet ef dbcontext scaffold "" Microsoft.EntityFrameworkCore.SqlServer 

Debe instalar el paquete Microsoft.EntityFrameworkCore.Tools para que el comando funcione.

Esto se puede hacer usando la consola del administrador de paquetes NuGet o el símbolo del sistema. Intenté con el símbolo del sistema. Después de navegar a la carpeta del proyecto en el símbolo del sistema, utilicé un comando similar:

 dnx ef dbcontext scaffold "Data Source=myServerName; Initial Catalog=myDatabaseName; Integrated Security=True" EntityFramework.SqlServer 

Recibí errores sobre los paquetes faltantes:

EntityFramework.Commands

EntityFramework.SqlServer.Design

seguido de este comando antes de continuar:

 dnu restre 

Los paquetes reales requeridos pueden variar en función de los marcos mencionados en su archivo project.json .

Si no puede ejecutar el dnx u otros comandos relacionados en el símbolo del sistema, siga ESTE enlace que se ha mencionado en los comentarios de otra respuesta.

PD : Aquí está la lista de comandos actual [en el momento de la redacción, última actualización el 21 de agosto]:

ASP.NET – EntityFramework Wiki – Comandos NuGet / DNX

Aquí están los parámetros actualizados para RC2 de .NET Core (mayo de 2016)

 dotnet ef dbcontext scaffold -c RRStoreContext -o Model "Data Source=(local);Initial Catalog=DBNAME;Integrated Security=True" Microsoft.EntityFrameworkCore.SqlServer --force 

Tenga en cuenta que Microsoft.EntityFrameworkCore.SqlServer es el nuevo nombre del paquete que debe utilizarse en el comando. Agregué el parámetro force para sobrescribir los archivos existentes. El parámetro ‘o’ es el nombre del directorio de salida. Y ahora es dotnet lugar de dnx .

A partir de la versión actual, las dependencias que necesita en su project.json son

 "dependencies": { "Microsoft.EntityFrameworkCore": "1.0.0-rc2-final", "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.0-rc2-final", "Microsoft.EntityFrameworkCore.Tools": { "type": "build", "version": "1.0.0-preview1-final" } }, 

Nota: El tipo de ‘comstackción’ significa que cualquier cosa que haga referencia a su ensamblado no tomará esta DLL como una dependencia, ya que solo es necesaria para las herramientas.

@ErikEJ ha desarrollado una herramienta muy útil para esto. Lo cual genera clases de POCO con solo hacer clic derecho en el proyecto y proporcionarle una instancia de servidor SQL. Puede descargarlo desde aquí y los pasos se mencionan claramente aquí .