Accueil > Entity Framework > Code First : Entity Framework Reverse POCO Generator

Code First : Entity Framework Reverse POCO Generator

Dans un précédent article j’ai expliqué comment faire du reverse engeneering Code First en utilisant l’extension Visual Studio Entity Framework Power Tools. Dans ce billet je parlerai d’une autre extension qui permet de faire la même chose : Entity Framework Reverse POCO Generator.

Vous pouvez installer cette extension à partir de la galerie ou via le gestionnaire d’extensions de Visual Studio. Une fois installé vous aurez un template de fichier qui sera ajouté à la liste de templates déjà existants.

Pour utiliser la fonctionnalité de reverse engeneering de cet outil, créer d’abords votre projet de préférence une bibliothèques de classes. Après vous faîtes un clic-droit sur le projet puis « Ajouter un élément ». Dans la boîte de dialogue qui apparaît choisissez le template suivant :
EF Generator
Donnez un nom à votre élément. Dans mon cas vu que j’utilise la base de données AdventureWorksLT2008 j’ai mis AdventureWorksLT.tt. Après validation, vous aurez 3 fichiers de template T4 (fichiers d’extensions .tt) qui seront ajoutés à votre projet :
EF Generator T4

Le seul fichier T4 que vous aurez à toucher et modifier est AdventureWorksLT.tt. Ouvrez ce fichier et suivre les étapes suivantes :

  • Configuration de la chaine de connexion : en début de fichier trouvez le paramètre ConnectionStringName et mettez le nom de la chaîne de connexion à utiliser. Notez que cette chaîne de connexion doit exister dans le fichier de configuration App.config.
    ConnectionStringName = "AdventureWorksLT2008Context";
  • Configuration du nom du contexte : trouvez le paramètre DbContextName et attribuez lui le nom que vous voudriez avoir comme nom de contexte (la clasese dérivant de DbContext)
    DbContextName = "AdventureWorksContext";
  • Rendre vos classes partielles : trouvez le paramètre MakeClassesPartial et attribuez lui la valeur true. Cela à pour but de rendre les classes partielles par défaut elles ne le sont pas.
    MakeClassesPartial = true;

La sauvegarde du fichier vous génère automatiquement le fichier AdventureWorksLT.cs. Ce fichier continent toutes les classes pour utiliser l’approche Code First. Dans ce fichier ces classes sont groupées en 3 catégories. D’abords nous avons le contexte de la base de données (AdventureWorksLT), suivi de toutes les classes POCO et enfin viennent les classes de configuration de nos classes POCO. Les classes de configuration ont pour but, à travers l’API FLuent, de définir les tables, colonnes, clefs et relations entre ces classes et tables existantes dans votre base de données.

Cette extension n’effectue qu’une tâche : faire du reverse engeneering alors que Entity Framework Power Tools en offre d’autres comme visualiser le modèle EDM, le XML de ce dernier ou générer des vues pré-compilées. Mais il faut noter qu’EF Power Tools ne permet pas de filtrer ou exclure les tables qu’on veut ou qu’on ne veut pas utiliser dans notre projet alors Entity Framework Reverse POCO Generator permet de le faire à travers des expressions régulières que vous devez configurer en modifiant les paramètres TableFilterExclude et TableFilterInclude du template T4 AdventureWorksLT.tt.

Bon code 😉

Publicités
Catégories :Entity Framework Étiquettes :
  1. Aucun commentaire pour l’instant.
  1. 9 décembre 2012 à 11 h 46 min

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :