2011-03-28 8 views
5

Usando el enfoque de primer código disponible en el nuevo 4.1 RC.Mantener el contenido de la base de datos en el cambio de modelo

¿Hay alguna forma de conservar los datos actuales almacenados en una base de datos cuando cambia el modo? La base de datos crea la base de datos, y generalmente la base de datos se descarta y vuelve a crear en los cambios del modelo.

Obviamente, tan pronto como se modifique el modelo, no será posible usar el objeto de contexto para conectarse a la base de datos para recuperar los datos, entonces, ¿cuáles son las opciones?

+0

Quizás relacionado de alguna manera con http://stackoverflow.com/questions/4485742/ef-code-first-recreate-database-if-model-changes –

Respuesta

3

El código primero no es compatible con la migración/evolución de la base de datos todavía. Si desea realizar un desarrollo de base de datos incremental, utilice primero el modelo (EDMX) con la plantilla DbContext Generator T4 y el paquete Entity designer database generation, que puede crear diferencias. guiones del modelo.

2

From Scott Gu:

Es importante destacar, sin embargo, la creación automática de opción de base es sólo una opción - que sin duda no se requiere . Si apunta su cadena de conexión a una base de datos existente , entonces EF "code first" no intentará crear una automáticamente. La auto-recrear opción también no se activará a menos desea explícitamente EF para hacer esto - por lo que no es necesario preocuparse por ello de goteo y la recreación de su base de datos a menos que usted ha indicado explícitamente que desea para hacerlo

+0

Pero esto también implica que tendré que editar manualmente el esquema de la base de datos para hacer coincidir el modo otra vez, ¿verdad? –

+0

Probablemente ... para ser honesto, no pensé que fuera una gran oferta, pero parece que el código primero no mantendrá el modelo y la base de datos sincronizados sin reescribir la base de datos. – taylonr

Cuestiones relacionadas