In previous versions of Entity Framework code-first migrations could be controlled programmatically with the DbMigrator class (e.g. check for and apply available migrations). Does that class still exist somewhere or is there a functional replacement? I found a post on an early RC version that indicated a substitute but that too seems to be missing from Core 1.0. I can control my migrations through CLI without issue but I think an in-code solution for custom tooling scenarios is going to be needed.
The functional replacement can be found in a few places, primarily in the API found in the Microsoft.EntityFrameworkCore.Migrations namespace.
Some places to look:
IHistoryRepository.GetAppliedMigrations()
IMigrator.Migrate(string
targetMigration)
(which is the same as calling
DbContext.Database.Migrate()
)IMigrationAssembly
to find current migrationsWith the exception of IMigrator.Migrate
, using these API usually means pulling the service out of internal EF Core's service container. This is done by calling .GetService<TService>()
on your dbcontext.
Example:
var migrator = context.GetService<IMigrator>().Migrate();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With