¿Cómo revertir las migraciones de EF 7 programáticamente?

c# database-migration entity-framework entity-framework-core unit-testing

Pregunta

Me gustaría escribir una prueba de unidad que migre al esquema más reciente y luego se reduzca a nada.

Para la migración puedo hacer:

db.Database.Migrate();

Pero, ¿cómo puedo revertir?

Respuesta aceptada

Los Comandos usan algo como esto;

var migrator = db.GetInfrastructure().GetRequiredService<IMigrator>();
migrator.Migrate("Migration1");

Donde Migration1 es el nombre de la migración. Esto sugiere que puedes pegar "0" allí para hacerlos retroceder.


Respuesta popular

Estaba cavando en los montajes y encontré que puedo hacer esto:

db.Database.GetService<IMigrator>().Migrate("0");



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué