Dmitry L
Dmitry L

Reputation: 251

How to apply migrations from code (EF Core)

Here is some working EF6 migration code:

Database.SetInitializer<CmContext>(null);
var settings = new MigrationsConfiguration();
var migrator = new DbMigrator(settings);
migrator.Update();

What is the equivalent using EF Core?

Upvotes: 24

Views: 19871

Answers (3)

Chaplin Marchais
Chaplin Marchais

Reputation: 63

According to the Microsoft documentation, for more advanced scenarios than simply applying the migrations which are already present in your project file structure, you can use the EF Core IMigrator service. You can easily access the internal implementation by utilizing the following access code:

var migrator = myDbContext.GetInfrastructure().GetService<IMigrator>();

Upvotes: 4

Edward Brey
Edward Brey

Reputation: 41718

For Entity Framework Core 1.0.0, ensure you have the Microsoft.EntityFrameworkCore.Relational NuGet package. Then import this namespace:

using Microsoft.EntityFrameworkCore;

Finally, get hold of a DbContext and run:

context.Database.Migrate();

Upvotes: 17

ErikEJ
ErikEJ

Reputation: 41819

In beta 7 and on, use:

using Microsoft.Data.Entity;

...

context.Database.Migrate();

Upvotes: 22

Related Questions