Este generador crea código como un experto en ingeniería inversa de su base de datos y creó el código para usted. Perfectamente.
Ingenieros inversos Una base de datos existente y genera el código de marco de entidad First POCO Classes, Mapeaciones de configuración, enumeraciones, DBContext, FakedBContext (para pruebas unitarias fáciles) y llamando a los procedimientos almacenados y las funciones de la tabla.
Código bellamente generado primer código que es totalmente personalizable
Tenga en cuenta que este no es el generador inverso de Microsoft. Este generador crea código como si hubiera ingeniería inversa una base de datos y creó con amor el código a mano. También le permite personalizar el código generado a su gusto.
Si desea o está utilizando este proyecto, dale una estrella. ¡Gracias!
Gratuito para académicos (necesita una dirección de correo electrónico .edu, .ac o .sch), no gratis para uso comercial.
Vaya al sitio web de ReversePoco para su clave de licencia.
Lea la documentación de actualización
Haga clic aquí para ver qué hay de nuevo en este lanzamiento.
Este generador está diseñado para ser personalizable desde el principio y no fijo y rígido como otros generadores. Juegue con la configuración en el archivo <database>.tt . Para eso es para allí.
Si su base de datos cambia, vuelva a ahorrar el archivo <database>.tt . Eso es todo.
Haga clic aquí para ver una lista completa de características.
Use Nuget e instale el paquete Nuget relevante para su base de datos.
install-package Microsoft.EntityFrameworkCore.SqlServerinstall-package EntityFramework Settings.ConnectionString es obligatorio en V3, por lo que debe proporcionar la cadena de conexión de su archivo app.config/web.config/appSettings.json. El generador utiliza esta cadena de conexión para ingeniería inversa de su base de datos. Ya no lee sus cadenas de conexión desde *.
Por ejemplo:
Settings.connectionString = "data fuente = (local); catálogo inicial = northwind; integrado seguridad = true; ciRypt = false; fideicserverCertificate = true";
La cadena Settings.ConnectionString que utiliza debe tener al menos estos privilegios: ddladmin , datareader y datawriter . Se requiere ddladmin para leer las restricciones predeterminadas.
En Visual Studio, haga clic derecho en el proyecto y seleccione "Agregar - Nuevo elemento".
Seleccione en línea y busque POCO inverso .
Seleccione EntityFramework Reverse POCO Generator .
Dé un nombre al archivo, como Database.tt y haga clic en Agregar.
Edite el archivo Database.tt y especifique la cadena de conexión completa en Settings.ConnectionString . El generador usa esto para leer el esquema de su base de datos e ingeniería inversa.
Edite el archivo Database.tt y especifique la cadena de conexión en Settings.ConnectionStringName que coincide con la tecla ConnectionString como se especifica en su appsettings.json , app.config o web.config .
Guarde el archivo Database.tt , que ahora generará el archivo Database.cs . Cada vez que guarde su archivo Database.tt , el generador invierta ingeniería inversa de su base de datos.
Hay muchas opciones que puede usar para personalizar el código generado. Todas estas configuraciones están en los archivos Database.tt .
Settings.ConnectionString es obligatorio en la versión 3. El generador lo usa para leer el esquema de su base de datos. La cadena de conexión se coloca opcionalmente en la función OnConfiguration:
protected override void OnConfiguring ( DbContextOptionsBuilder optionsBuilder ) { { #n ewline } }
{ { { #n ewline } }
if ( ! optionsBuilder . IsConfigured ) { { #n ewline } }
{ { { #n ewline } }
optionsBuilder . UseSqlServer ( @"" { { ConnectionString } } "" ) ; { { #newline } }
} { { #n ewline } }
} { { #n ewline } } { { #n ewline } } Settings.ConnectionStringName Esto no es utilizado por el generador, sino que se coloca en el constructor DBContext generado a través de una llamada a Settings.DefaultConstructorArgument .
public { { DbContextName } } ( ) { { #n ewline } }
{ { #if HasDefaultConstructorArgument } }
: base ( { { DefaultConstructorArgument } } ) { { #n ewline } }
{ { / if } }Una interfaz de usuario simple para el generador está disponible en GitHub, que le ayuda a crear una regex para filtrar sus tablas.
Para tener una sintaxis completa de resaltado e IntelliSense al editar archivos TT, uso el complemento Resharper Fortea. No me puedo imaginar editar archivos TT sin él.
No es necesario editar el archivo EF.Reverse.POCO.v3.ttinclude directamente a medida que este archivo se genera a partir de un proyecto C#. Este repositorio incluye el archivo BuildTT que crea el EF.Reverse.POCO.v3.ttinclude del proyecto Generator C#.
Lea la lectura de [https://github.com/blog/1943-how-to-write-the-perfect-pull-requestfont>( cómo escribir la solicitud de extracción perfecta)
Mis requisitos son simples:
EF.Reverse.POCO.v3.ttinclude . Este repositorio incluye el proyecto BuildTT que crea el EF.Reverse.POCO.v3.ttinclude del proyecto Generator C#.Saludos, Simon Hughes