web-dev-qa-db-fra.com

Framework d'entité 5 - Comment générer des classes de POCO à partir de la base de données existante

J'utilise VS 2012 et EF 5. J'ai une base de données existante que je souhaite créer des classes de POCO à partir de la base de données existante. J'ai suivi les étapes pour ajouter un modèle de données d'entité ADO.NET à mon projet. J'ai traversé l'assistant pour utiliser une base de données existante. Il a ensuite créé les fichiers EDMX et TT avec le concepteur ouvert. Cependant, je souhaite créer les objets POCO et les utiliser. Le site Microsoft stipule que le générateur de cadre d'entité POCO est obsolète et je devrais utiliser le générateur DBContext. Je ne peux pas comprendre les étapes que j'utilise pour générer les classes de POCO. Je ne vois que le designer Edmx. Je ne veux même pas même à un fichier Edmx, mais à la place des classes de POCO. Comment puis-je obtenir des cours de POCO à créer à partir d'une base de données existante à l'aide de EF 5 et de VS 2012?

15
user31673

Utilisez EF 5.x DBContext Fluent Generator

Vous pouvez l'ajouter des modèles en ligne:

  • Générer EDMX de la base de données existante
  • Sélectionnez Add New Item
  • Rechercher des modèles en ligne pour POCO
  • Ajouter EF 5.x DBContext Générateur fluent

Il ajoutera trois modèles T4 à votre projet:

  • xxx.context.tt - Contexte hérité de dBContext
  • xxx.enties.tt - Entités Poco
  • xxx.mappings.tt - Mappages fluides pour chaque entité

[~ # ~] Mais [~ # ~ ~] Vous devez configurer manuellement le chemin de votre modèle de données EDMX. Chacun de ces modèles a la ligne string inputFile = @"$edmxInputFile$";. Vous devez fournir un nom de votre fichier EDMX ici:

string inputFile = @"Northwind.edmx";

14
Sergey Berezovskiy

Le processus de faire est assez rationalisé maintenant, semble-t-il. Les étapes de la réponse acceptée sont maintenant faciles à faire auprès du designer EDMX lui-même. Essentiellement,

  • Générez le modèle (EDMX) à partir d'une base de données existante en ajoutant le modèle de données d'entité ADO.NET au projet (voir ICI pour plus de détails),
  • puis

Ouvrez le fichier .edmx dans l'entité concepteur.

Cliquez avec le bouton droit sur une zone vide sur la surface de la concepteur d'entité et pointez pour ajouter un élément de génération de code.

Dans la boîte de dialogue Ajouter une nouvelle pièce, sélectionnez Modèles en ligne et tapez DBContext dans la zone de texte de la recherche en ligne.

Sélectionnez la version appropriée pour votre modèle (5.0, si vous souhaitez cibler l'entité Framework 5.0).

Cliquez sur OK.

Cela fera tout le travail, apparemment. Les instructions citées ici font référence à des modèles en ligne tels que l'installation de EF 5.x DBContext Fluent Generator est requis. Si vous l'avez déjà installé, il n'est pas nécessaire de le rechercher dans les modèles en ligne, mais dans les modèles installés.

Pour plus d'informations, vous pouvez vérifier Ceci page, section "Pour utiliser le modèle de générateur DBContext pour générer du code de couche d'objet".

9
Alen Siljak