62 votes

Entity Framework - Génération de classes

Je suis nouveau dans Entity Framework. J'ai une base de données existante. J'espérais qu'il y avait un moyen de générer des fichiers de classe à partir de cette base de données. Cependant, il semble que la base de données soit générée à partir de fichiers de classe.

Existe-t-il un moyen de générer des fichiers de classe à partir d'une base de données existante à l'aide d'Entity Framework? Si c'est le cas, comment? Est-ce que quelqu'un peut m'indiquer un tutoriel?

Je vous remercie!

120voto

algreat Points 2494

1) d'Abord, vous avez besoin de générer EDMX modèle à l'aide de votre base de données. Pour le faire vous devez ajouter un nouvel élément à votre projet:

  • Sélectionnez ADO.NET Entity Data Model à partir de la liste des Modèles.
  • Dans la liste Choisissez le Modèle de Contenu de la page, sélectionnez le Générer à partir de la Base de données et cliquez sur Suivant.
  • Choisissez votre base de données.
  • Sur les Choisir Vos Objets de Base de données page, vérifiez les Tables. Choisir les Vues ou des Procédures Stockées, si vous en avez besoin.

Alors maintenant, vous avez Model1.edmx fichier dans votre projet.

2) Pour générer des classes à l'aide de votre modèle:

  • Ouvrez votre EDMX concepteur de modèle.
  • Sur la surface de dessin, faites un Clic Droit –> Ajouter un Élément de Génération de Code...
  • Sélectionnez modèles en Ligne.
  • Sélectionnez EF 4.x DbContext Generator for C#.
  • Cliquez Sur "Ajouter".

Remarquez que les deux éléments sont ajoutés à votre projet:

  • Model1.tt (Ce modèle ne génère que de simples classes POCO pour chaque entité de votre modèle)
  • Model1.Context.tt (Ce modèle génère un dérivé DbContext à utiliser pour l'interrogation et la persistance des données)

3) Lire/Écrire des Données exemple:

 var dbContext = new YourModelClass(); //class derived from DbContext
 var contacts = from c in dbContext.Contacts select c; //read data
 contacts.FirstOrDefault().FirstName = "Alex"; //edit data
 dbContext.SaveChanges(); //save data to DB

N'oubliez pas que vous avez besoin de 4.x version de EntityFramework. Vous pouvez télécharger EF 4.1 ici: Entity Framework 4.1.

16voto

algreat Points 2494

Je l'ai trouvé très belle solution. Microsoft a publié une version bêta de l'Entity Framework Outils électriques: Entity Framework Power Tools Beta 2

De là, vous pouvez générer des classes POCO, dérivé DbContext et le Premier Code de la cartographie pour une base de données existante en quelques clics. C'est très sympa!

Après l'installation de certaines options des menus serait ajouté à votre Visual Studio.

Cliquez-droit sur un projet C#. Choisissez Entity Framework-> désosser le Premier Code (Génère des classes POCO, dérivé DbContext et le Premier Code de la cartographie pour une base de données existante):

Visual Studio Context Menu

Ensuite, choisissez votre base de données et cliquez sur OK. C'est tout! Il est très facile.

1voto

Shubh Points 1

1) Ouvrez le modèle EDMX 2) Cliquez avec le bouton droit de la souris sur -> Mettre à jour le modèle à partir du navigateur -> Procédure stockée -> Sélectionnez votre procédure stockée -> Terminer 3) Voir le navigateur de modèles qui apparaît à côté de l'Explorateur de solutions.
4) Allez dans Importations de fonctions -> Faites un clic droit sur votre procédure stockée -> Ajouter une importation de fonctions 5) Sélectionnez les entités sous Renvoyer une collection de -> Sélectionnez le nom de votre entité dans le menu déroulant.
6) Construisez votre solution.

0voto

Salvador Sarpi Points 477

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X