mvc migrations framework first existing español code entity-framework code-first

entity-framework - migrations - entity framework database first español



¿Cómo uso Entity Framework en el modo Code First Drop-Create? (2)

Estoy usando Entity Framework v4. He seguido las instrucciones en el tutorial de Nerd Dinner . Actualmente estoy en modo de desarrollo (no lanzado a entornos más avanzados) y me gustaría que las tablas se recreasen en cada nueva implementación, ya que los modelos aún son muy volátiles y no me interesa retener los datos. Sin embargo, esto no ocurre. Las tablas no se crean / modifican ni sucede nada con la base de datos. Si cambio a un modelo de migraciones utilizando los comandos de Package Manager: enable-migrations, add-migration (initial), esto funciona y usa mis migraciones. Sin embargo, dado que aún no quiero tener migraciones granulares y solo quiero mi script de creación inicial, me veo obligado a eliminar la carpeta de migraciones, rehacer los comandos (enable-migrations, add-migration) y eliminar la base de datos manualmente, cada vez Yo cambio cualquier cosa

¿Cómo consigo primero que ocurra el comportamiento drop / create del código?


Si la base de datos ya existe y desea realizar cambios en su modelo, use DropCreateDatabaseIfModelChanges<YourContextName>


Use el inicializador DropCreateDatabaseAlways para su base de datos. Siempre recreará la base de datos durante el primer uso del contexto en el dominio de la aplicación:

Database.SetInitializer(new DropCreateDatabaseAlways<YourContextName>());

En realidad, si desea sembrar su base de datos, cree su propio inicializador, que se heredará de DropCreateDatabaseAlways :

public class MyInitializer : DropCreateDatabaseAlways<YourContextName> { protected override void Seed(MagnateContext context) { // seed database here } }

Y configúralo antes del primer uso del contexto

Database.SetInitializer(new MyInitializer());