4 votes

Après la mise à jour du modèle edmx, qu'en est-il du DbContext ?

Je viens de commencer à utiliser EF5. J'ai créé une base de données MSSQL, puis j'ai créé le fichier du modèle (edmx) et ensuite utilisé l'option "Ajouter un élément de génération de code" pour créer EF5. dbcontext classes.

Chaque fois que je modifie ma base de données (ajout d'une colonne ou modification d'un type de données), je constate que l'option "update model from database" ne fonctionne pas et que je dois supprimer et recréer le modèle. Cela me convient, mais qu'advient-il de ma base de données ? DbContext générées à partir de la model.tt Dois-je générer tous les fichiers de modèle ? DbContext les classes à nouveau aussi ?

quelle est la bonne façon de travailler avec un environnement de base de données et de garder la base de données de l'entreprise ? .edmx et le modèle DbContext en synchronisation avec la base de données ?

4voto

spajce Points 4740

Après avoir mis à jour votre modèle à partir de la base de données, essayez de Run Custom Tool le modèle d'entité, fonctionne et a été testé pour moi.

de Entity ModelRight ClickRun Custom Tool

1voto

Sebastian K Points 1874

Je vois deux façons de procéder :

1) Utiliser l'approche EF4 (qui devrait être possible avec EF5 aussi) c'est-à-dire utiliser edmx et le flux de base de données en premier. Ensuite, chaque fois que vous avez des changements dans votre base de données, il suffit de "Update Your Model from Database " à partir du menu contextuel du concepteur edmx. Cela met automatiquement à jour vos classes d'entités générées.

2) Utilisez l'approche EF5 - Générez vos classes POCO une seule fois, n'utilisez pas du tout edmx. Vous pouvez le faire en utilisant Entity Framework Power Tools et ensuite utiliser "Reverse Engineer Code First". Appliquez manuellement les changements à vos classes lorsque le modèle de la base de données change (cela ne fonctionnerait évidemment qu'avec des changements incrémentaux de la base de données).

0voto

boindiil Points 4837

Dans VS2010, il y a un bouton tout en haut à droite de l'explorateur de solutions appelé "Transformer tous les modèles" qui met à jour vos classes générées.

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