EF (Framework Entity) 4.3 L'outil de migration ne fonctionne pas sur EF 4.1 dB
Question
Je souhaite modifier un DB qui a été développé avec EF 4.1 (Code First). J'ai mis à niveau le projet en EF 4.3 et j'ai suivi ces étapes:http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-Migrations-walkthrough.aspx
Tout se passe bien, mais lorsque je veux tester sur la base de données actuelle (code EF 4.1 en premier), la mise à jour-database augmente cette erreur:
Impossible échafaudage la migration suivante car la base de données cible a été créée avec une version du code plus tôt que EF 4.3 et ne contient pas le tableau d'historique des migrations. Pour commencer à utiliser des migrations contre cette base de données, assurez-vous que le modèle actuel est compatible avec la base de données cible et exécutez le processus de mise à jour des migrations. (Dans Visual Studio, vous pouvez utiliser la commande de mise à jour-database à partir de la console Package Manager pour exécuter le processus de mise à jour des migrations).
Je me demandais comment je peux migrer un EF 4.1 (code d'abord) DB? De plus, cette base de données est en direct et a des données et je ne peux pas abandonner les tables.
La solution
Vous devez créer une migration vide et l'exécuter avant de modifier votre modèle. Il créera la table d'historique de migration pour vous. Après cela, vous pouvez utiliser des migrations pour de nouveaux changements. J'ai écrit article de procédure pas à pas à propos de ce sujet.
Autres conseils
Exécutez "Add-Migration InitialMigration -IgnoreChanges" avant de modifier le modèle. Faire les modifications requises, puis exécutez "Mise à jour-database"