Pregunta

Estoy usando el patrón de código de código en Entity Framework v4.1. Una de las cosas que me encontré que se ve realmente raras es que cada vez que realiza cambios en el modelo, la base de datos simplemente se elimina y se crea nueva. Esto es muy desordenado porque cada vez que cae y recrea la base de datos no es una solución ideal. Todos mis datos de prueba y todo se pierde. Sé que hay un método llamado Seed y puede poner los registros de datos de prueba para insertar allí. Sin embargo, puede haber pocos 100 registros de prueba y no es viable poner cada registro en el método de semillas. ¿Hay alguna otra alternativa a esto? No habría usado el código primero, pero es obligatorio usarlo en el proyecto.

¿Fue útil?

Solución

No, actualmente no hay otro método y EF en sí mismo probablemente nunca admitirá nada más que soltar / recrear. La forma en que el equipo de ADO.NET eligió está utilizando una herramienta separada para la actualización de la base de datos llamada Migraciones. Actualmente, las migraciones están disponibles solo como CTP = no son adecuadas para el uso real, sino para probar y recolectar comentarios al equipo EF.

Como solución alternativa, puede tener un script de población de datos externo y llamarlo de semilla: será mucho más fácil para el mantenimiento.

Otros consejos

Puede configurar EF solo para intentar modificar su base de datos si aún no existe.

Database.SetInitializer<YourDataContext>(new CreateDatabaseIfNotExists<YourDataContext>());
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top