是否可以让我的ASP Core Web API确保使用EF Core将数据库迁移到最新的迁移?我知道这可以通过命令行完成,但我想以编程方式进行.
更新
根据Janshair Khan的答案,我想出了这个帮手班:
- using Microsoft.AspNetCore.Builder;
- using Microsoft.EntityFrameworkCore;
- using Microsoft.Extensions.DependencyInjection;
- using MyWebApi.Models;
- namespace MyWebApi
- {
- public static class DataSeeder
- {
- public static void SeedData(this IApplicationBuilder app)
- {
- var context = app.ApplicationServices.GetService<MyContext>();
- if (!context.Database.EnsureCreated())
- context.Database.Migrate();
- }
- }
- }
您可以从Startup.cs中的Configure方法调用此命令,如下所示:
- app.SeedData();
解决方法
您可以使用
- db.Database.EnsureCreated();
使您的数据库更新您当前的模型.如果要启用迁移(如果怀疑后续迁移),则使用
- db.Database.Migrate();
并随着时间推移您的后续迁移.