Entity Framework: comment actualiser le modèle lorsque la base de données change?

entity-framework

Question

Si vous construisez le fichier edmx à partir de la base de données et que la base de données change, comment obtenez-vous le modèle pour enregistrer les modifications?

Supprimez-vous le modèle entier et régénérez-vous ou pouvez-vous détecter des modifications?

Je vois un article mentionnant un "Mettre à jour votre modèle". commande de la souris sur le fichier edmx, mais je ne le vois pas.

Mise à jour de votre edmx pour refléter les modifications apportées à votre base de données (.net linq-to-entity)

Je viens de commencer.

Réponse acceptée

Regardez-vous le concepteur ou la vue de code? Vous pouvez forcer le concepteur à ouvrir en cliquant avec le bouton droit de la souris sur votre fichier EDMX et en sélectionnant Open With -> ADO.NET Entity Data Model Designer

Cliquez avec le bouton droit sur la surface de conception du concepteur EDMX, puis cliquez sur Update Model From Database...

Toutes les entités sont actualisées par défaut, les nouvelles entités ne sont ajoutées que si vous les sélectionnez.


EDIT: Si ce n'est pas rafraîchissant.

  • Sélectionnez toutes les tables et les vues dans le concepteur EDMX.
  • Supprime-les.
  • Ensuite, mettre à jour le modèle à partir de la base de données

Réponse populaire

J'ai trouvé que le concepteur "update from database" ne peut gérer que de petites modifications. Si vous avez supprimé des tables, modifié des clés étrangères ou (gasp) modifié la signature d'une procédure stockée avec un mappage de fonctions, vous finirez par atteindre un tel état de désordre, vous devrez supprimer toutes les entités et "ajouter à partir de la base de données" ou simplement supprimer la ressource edmx et recommencer.



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow