.NET 6.0 – Execute EF Database Migrations from Code on Startup
Tutorial: .NET 6.0 – Execute EF Database Migrations from Code on Startup
This is a super quick example of how to automatically migrate database changes on startup from code in .NET 6.0 using Entity Framework in the Program.cs
file.
Register the Entity Framework DB Context as a .NET Service
First register your EF Context with the .NET Dependency Injection (DI) system in the Program.cs
file by calling builder.Services.AddDbContext<TContext>()
.
This code snippet registers the EF context DataContext
as a .NET service.
var builder = WebApplication.CreateBuilder(args);
// add services to DI container
builder.Services.AddDbContext<DataContext>();
...
Execute DB Migrations Automatically on Startup with .NET Entity Framework
After the EF context is registered as a .NET service, it can be manually retrieved from the DI system by creating a scope
and calling scope.ServiceProvider.GetRequiredService<TService>()
like below.
Migrations are executed by calling dataContext.Database.Migrate();
.
// migrate any database changes on startup (includes initial db creation)
using (var scope = app.Services.CreateScope())
{
var dataContext = scope.ServiceProvider.GetRequiredService<DataContext>();
dataContext.Database.Migrate();
}
More Error Tutorials >>
Vue 3+VeeValidate – Form Validation Example (Composition API)
Vue 3+VeeValidate – Required Checkbox Example (Composition API)
Vue 3+Pinia-JWT Authentication Tutorial & Example