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