6

Quiero modificar un DB que se desarrolló con EF 4.1 (Código Primero). He actualizado el proyecto en EF 4.3 y seguir los siguientes pasos: http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspxEF (Entity Framework) 4.3 La herramienta de migración no funciona en EF 4.1 DB

Todo va bien, pero cuando quiero poner a prueba la corriente DB (EF 4.1 Código primero), Actualización de Base de datos de planteo este error:

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).

Me preguntaba cómo puedo migrar un DB de EF 4.1 (Code First)? Además, DB está en vivo y tiene datos y no puedo eliminar tablas.

+1

Leer el mensaje de error. Seguir direcciones. – jrummell

+0

Pero es un mensaje de error recursivo. –

Respuesta

8

Debe crear una migración vacía y ejecutarla antes de realizar cambios en su modelo. Creará la tabla del historial de migración por usted. Después de eso, puede usar migraciones para nuevos cambios. Escribí walkthrough article sobre este tema.

+0

Hola Ladislav, seguí tus instrucciones, pero cuando quería agregar migración inicial en Package Manager Console (PM> Add-Migration InitialMigration -IgnoreChanges) volvió a aparecer este error: "No se puede andamiar la siguiente migración porque la base de datos de destino se creó con una versión de Code First anterior a EF 4.3 y no contiene la tabla del historial de migraciones ... " – Pouyan

+0

Funcionó, la clave es que debe hacer" Add-Migration InitialMigration -IgnoreChanges "antes de cualquier cambio – Pouyan

+0

que se menciona en el último párrafo del artículo. –

0

Run "Añadir a la migración InitialMigration -IgnoreChanges" antes de hacer cualquier cambio en el modelo .. Hacer los cambios necesarios, a continuación, ejecute "actualización de base de datos"

Cuestiones relacionadas