Come eseguire il rollback delle migrazioni EF 7 a livello di programmazione?

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

Domanda

Vorrei scrivere un test unitario che migra allo schema più recente e poi torna a zero.

Per la migrazione posso fare:

db.Database.Migrate();

ma come posso eseguire il rollback?

Risposta accettata

I comandi usano qualcosa come questo;

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

Dove Migration1 è il nome della migrazione. Questo suggerisce che puoi attaccare "0" lì per farli rotolare tutti indietro.


Risposta popolare

Stavo scavando negli assiemi e ho scoperto che posso farlo:

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


Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché