Azure上的实体框架核心:Update-Database参数-ConnectionString不起作用

时间:2018-06-19 05:56:25

标签: entity-framework azure azure-sql-database entity-framework-core database-migration

我想使用Entity Framework Core迁移更新Azure SQL上的数据库以适应.Net Core应用程序。在线建议以下命令:

Update-Database -ConnectionString $ConnectionString -ConnectionProviderName "System.Data.SqlClient"

但是,由于Update-Database cmdlet无法识别参数–ConnectionString,因此无效。如何自动化数据库迁移?

1 个答案:

答案 0 :(得分:1)

  

如何自动化数据库迁移?

EF不支持自动迁移,您可能需要手动执行Add-Migrationdotnet ef migrations add才能添加迁移文件。您可以显式执行命令以应用迁移,也可以在代码中应用迁移。

如果您要应用迁移at runtime,可以在Configure

Startup.cs方法中添加以下代码
using (var scope = app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
    {
        scope.ServiceProvider.GetRequiredService<ApplicationDbContext>().Database.Migrate();
    }

有关详细信息,请参阅此thread