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.

Était-ce utile?

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"

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top