Nelle versioni precedenti di Entity Framework le migrazioni code-first potevano essere controllate a livello di codice con la classe DbMigrator (ad esempio, verificare e applicare le migrazioni disponibili). Quella classe esiste ancora da qualche parte o esiste una sostituzione funzionale? Ho trovato un post su una delle prime versioni RC che indicava un sostituto, ma sembra che manchi anche il Core 1.0. Posso controllare le mie migrazioni attraverso la CLI senza problemi, ma penso che sarà necessaria una soluzione in-code per gli scenari di strumenti personalizzati.
La sostituzione funzionale può essere trovata in alcuni punti, principalmente nell'API che si trova nello spazio dei nomi Microsoft.EntityFrameworkCore.Migrations.
Alcuni posti da guardare:
IHistoryRepository.GetAppliedMigrations()
IMigrator.Migrate(string targetMigration)
(che DbContext.Database.Migrate()
chiamare DbContext.Database.Migrate()
) IMigrationAssembly
per trovare le migrazioni correnti Ad eccezione di IMigrator.Migrate
, l'utilizzo di queste API in genere comporta la IMigrator.Migrate
del servizio dal contenitore dei servizi interni di EF Core. Questo viene fatto chiamando .GetService<TService>()
sul tuo dbcontext.
Esempio:
var migrator = context.GetService<IMigrator>().Migrate();