Ce générateur crée du code comme un expert en inversion inversé votre base de données et a créé le code pour vous. Parfaitement.
Ingénieurs inverse une base de données existante et génère le code du cadre d'entité First Classes POCO, les mappages de configuration, les énumérations, DBContext, FakedBContext (pour des tests unitaires faciles) et l'appel des procédures stockées et des fonctions à valeur de table.
Code de code magnifiquement généré qui est entièrement personnalisable
Veuillez noter qu'il ne s'agit pas du générateur Microsoft Reverse. Ce générateur crée du code comme si vous aviez une base de données inversée et créé avec amour le code à la main. Il vous permet également de personnaliser le code généré à votre goût.
Si vous aimez ou utilisez ce projet, veuillez lui donner une étoile. Merci!
GRATUIT pour les universitaires (vous avez besoin d'une adresse e-mail .edu, .ac ou .sch), pas gratuit pour un usage commercial.
Accédez au site Web de Reversepoco pour votre clé de licence.
Veuillez lire la documentation de mise à niveau
Cliquez ici pour voir ce qui est nouveau dans cette version.
Ce générateur est conçu pour être personnalisable dès le début et non fixe et rigide comme les autres générateurs. Jouez avec les paramètres dans le fichier <database>.tt . C'est pour cela que c'est là.
Si votre base de données modifie, ré-sauvegardez le fichier <database>.tt . C'est ça.
Cliquez ici pour voir une liste complète des fonctionnalités.
Utilisez NuGet et installez le package NuGet pertinent pour votre base de données.
install-package Microsoft.EntityFrameworkCore.SqlServerinstall-package EntityFramework Settings.ConnectionString est obligatoire dans V3, vous devez donc fournir la chaîne de connexion à partir de votre fichier app.config / web.config / appsettings.json. Le générateur utilise cette chaîne de connexion pour rétro-ingérez votre base de données. Il ne lit plus vos chaînes de connexion à partir des fichiers * .config.
Par exemple:
Settings.ConnectionString = "Data Source = (Local); Initial Catalog = Northwind; Integrated Security = True; Encrypt = false; TrustServerCertificate = true";
La chaîne Settings.ConnectionString que vous utilisez doit avoir au moins ces privilèges: ddladmin , datareader et datawriter . ddladmin est requis pour lire les contraintes par défaut.
Dans Visual Studio, cliquez avec le bouton droit et sélectionnez "Ajouter - nouvel élément".
Sélectionnez en ligne et recherchez le POCO inversé .
Sélectionnez le générateur POCO inversé entitéframework .
Donnez un nom au fichier, tel que Database.tt et cliquez sur Ajouter.
Modifiez le fichier Database.tt et spécifiez la chaîne de connexion complète dans Settings.ConnectionString . Le Generater utilise ceci pour lire votre schéma de base de données et le faire de l'ingénierie.
Modifiez le fichier Database.tt et spécifiez la chaîne de connexion dans Settings.ConnectionStringName qui correspond à la touche ConnectionString comme spécifié dans votre appsettings.json , app.config ou web.config .
Enregistrez le fichier Database.tt , qui générera désormais le fichier Database.cs . Chaque fois que vous enregistrez votre fichier Database.tt , le générateur inversera votre base de données.
Il existe de nombreuses options que vous pouvez utiliser pour personnaliser le code généré. Tous ces paramètres se trouvent dans les fichiers Database.tt .
Settings.ConnectionString est obligatoire dans la version 3. Le générateur l'utilise pour lire votre schéma de base de données. La chaîne de connexion est éventuellement placée dans la fonction onconfigurant:
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 Ce n'est pas utilisé par le générateur mais est placé dans le constructeur DBContext généré via un appel à Settings.DefaultConstructorArgument .
public { { DbContextName } } ( ) { { #n ewline } }
{ { #if HasDefaultConstructorArgument } }
: base ( { { DefaultConstructorArgument } } ) { { #n ewline } }
{ { / if } }Une interface utilisateur simple pour le générateur est disponible chez GitHub, ce qui vous aide à créer un regex pour filtrer vos tables.
Pour avoir une syntaxe complète et Intellisense lors de la modification des fichiers TT, j'utilise le plugin Resharper Fortea. Je ne peux pas imaginer éditer des fichiers TT sans lui.
Pas besoin de modifier le fichier EF.Reverse.POCO.v3.ttinclude directement car ce fichier est généré à partir d'un projet C #. Ce référentiel comprend le fichier buildTT qui crée le projet EF.Reverse.POCO.v3.ttinclude du projet C # Generator .
Lisez-vous de [https://github.com/blog/1943-how-to-write-the-perfect-pull-request
Mes exigences sont simples:
EF.Reverse.POCO.v3.ttinclude . Ce référentiel comprend le projet BuildTT qui crée le EF.Reverse.POCO.v3.ttinclude du projet C # Generator .Cordialement, Simon Hughes