当我的ASP.NET Core 2.0api启动时,我使用以下代码自动运行EF core2.0迁移(
StartUp.cs
类别):
public void Configure(IApplicationBuilder app)
{
using (var scope = app.ApplicationServices
.GetService<IServiceScopeFactory>()
.CreateScope())
{
var context = scope.ServiceProvider.GetRequiredService<DatabaseContext>();
context.Database.Migrate();
}
}
我计划对API进行负载平衡。假设两个API实例同时启动,EF-Core迁移系统是否足够聪明,能够锁定数据库,使迁移只运行一次,或者我应该自己编写代码?我在浏览时没有看到任何锁定代码
the
Migrator
class
.
谢谢您!