2012-04-16 13 views
10

La utilidad de migración de EF parece bastante buena cuando se usa primero el código.Uso de la herramienta de migración EF4 con el primer enfoque de modelo

Basado en this blog post, traté de configurarlo en mi proyecto donde usamos model-first. Cuando se ejecuta Enable-Migrations comando, me sale el siguiente error:

Creating a DbModelBuilder or writing the EDMX from a DbContext created using Database First or Model First is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel.

¿Hay alguna manera de evitarlo así que podemos usar la migración EF sin cambiar al código primero?

+1

Supongo que no, es lo que dice la excepción, pero sería una buena sugerencia para [Data UserVoice] (http://data.uservoice.com/forums/72025-entity-framework-feature-suggestions). –

+0

+1 para el enlace del blog –

Respuesta

3

Tengo una entrada de blog incompleta sobre cómo se puede hacer esto. No estoy seguro si se ajustará a su necesidad, pero parece ser el único método disponible hasta ahora.

Básicamente, utiliza el t4 personalizado para generar DbMigrationsConfiguration y DbContext de su modelo y no necesita ejecutar Enable-Migration en absoluto. Simplemente ejecute Add-Migration y Update-Database en la consola de Package Manager.

http://blog.amusedia.com/2012/08/entity-framework-migration-with-model.html

seré actualizar la entrada de blog y t4 para que sea más fácil de usar más tarde.

+0

Interesante, volveré a trabajar en tres semanas y asegúrense de comprobar esto, gracias. – Johnny5

+0

No apliqué eso a mi proyecto todavía, no estoy seguro si funcionará "de fábrica", pero parece ser la única solución hasta el momento. – Johnny5

+0

Me encuentro con el mismo problema. Pero el complemento Code Second no funciona con EF 6 ...... ¿Cómo se puede resolver esto? – Franva

3

que estaba buscando la misma solución y encontré esto: Entity Designer Database Generation Power Pack Después de la instalación, cuando se elige "Crear base de datos de modelo ..." popup que va a un nuevo asistente y se puede elegir la opción "Generar Migración T-SQL" .

Cuestiones relacionadas