6

Desidero modificare un DB che è stato sviluppato con EF 4.1 (Code First). Ho aggiornato il progetto in EF 4.3 e seguire questa procedura: http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspxEF (Entity Framework) 4.3 Lo strumento di migrazione non funziona su EF 4.1 DB

Tutto sta andando bene, ma quando voglio testare sulle attuali DB (EF 4.1 Codice First), Update-Database Sollevo questo errore:

Cannot scaffold the next migration because the target database was created with a version of Code First earlier than EF 4.3 and does not contain the migrations history table. To start using migrations against this database, ensure the current model is compatible with the target database and execute the migrations Update process. (In Visual Studio you can use the Update-Database command from Package Manager Console to execute the migrations Update process).

Mi chiedevo come posso migrare un EF 4.1 (Code First) DB? Inoltre, DB è attivo e dispone di dati e non posso rilasciare tabelle.

+1

Leggi messaggio di errore "update-database". Seguire le indicazioni. – jrummell

+0

Ma è un messaggio di errore ricorsivo. –

risposta

8

È necessario creare una migrazione vuota ed eseguirla prima di apportare modifiche al modello. Creerà la tabella della cronologia delle migrazioni per te. Successivamente è possibile utilizzare le migrazioni per le nuove modifiche. Ho scritto walkthrough article su questo argomento.

+0

Ciao Ladislav, ho seguito le tue istruzioni, ma quando ho voluto aggiungere la migrazione iniziale in Package Manager Console (PM> Aggiungi-Migrazione InitialMigration -IgnoreChanges) ha sollevato nuovamente questo errore: "Impossibile impalcare la migrazione successiva perché il database di destinazione è stato creato con una versione di Code Prima di EF 4.3 e non contiene la tabella di cronologia delle migrazioni .... " – Pouyan

+0

Ha funzionato, l'indizio è che dovresti fare" Add-Migration InitialMigration -IgnoreChanges "prima di qualsiasi modifica – Pouyan

+0

Ciò è menzionato nell'ultimo paragrafo dell'articolo. –

0

Run "Add-migrazione InitialMigration -IgnoreChanges" prima di fare qualsiasi modifica al modello .. Apportare le modifiche necessarie, quindi eseguire