是否可以配置StartUp.cs
或project.json
在应用程序启动时使用Entity Framework Core运行数据库迁移?
现在,我有执行此任务的中间件,但是它似乎会对性能产生负面影响,因为正在检查每个收到的请求的数据库。
public class EntityFrameworkUpdateDatabaseMiddleware
{
private readonly RequestDelegate _next;
private readonly ApplicationDbContext _dbContext;
public EntityFrameworkUpdateDatabaseMiddleware(RequestDelegate next, ApplicationDbContext dbContext)
{
_next = next;
_dbContext = dbContext;
}
public async Task Invoke(HttpContext context)
{
await _dbContext.Database.MigrateAsync();
await _next.Invoke(context);
}
}
最佳答案
您可以在Startup.cs
的config方法中执行此操作。最简单的方法是这样的:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>();
// add other services
}
public void Configure(IApplicationBuilder app, ApplicationDbContext db)
{
db.Database.Migrate();
// configure other services
}
关于migration - 在应用程序启动时使用Entity Framework核心运行数据库迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38282138/