将我的应用程序部署到 Azure 后,我创建了新数据库,但现在我不知道如何运行 EF 数据库迁移。在我发布的文件中,我有一个 web.config 文件,其中包含基于其他帖子的
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" />
应该足以运行迁移。
我已确保连接字符串正确,并且可以成功创建与 Azure 数据库的连接。
我不知道接下来要做什么来填充我的数据库?我现在已经是第二天了。
添加迁移后,您可以通过运行 PS cmd Update-Database
手动应用它,也可以在应用程序启动时通过在
myDbCtx.Database.Migrate()
中包含代码 Startup.cs
来自动应用它。
在应用迁移之前,您需要确保连接字符串指向正确的数据库。如果您使用的是 Asp.net Core,您的连接字符串位于
appsettings.json
内,并且该值可以由您的 Azure 应用服务、应用程序设置覆盖。
应用迁移后,在
__EFMigrationsHistory
表中将为 MigrationId
和 ProductVersion
插入一行。在进行生产之前,首先在本地测试所有内容。
另请查看 EF 迁移文档。希望这有帮助。
我就是这么做的。
appsettings.Development.json
),一个用于生产 (appsettings.Production.json
)。在 appsettings.Development.json
文件中,我指定 localdb 的连接字符串,在 appsettings.Production.json
文件中,我指定 Azure sqldb 的连接字符串,两者具有相同的名称和密钥。Program.cs
文件中注册连接字符串。这将根据应用程序的当前环境(开发或生产)自动获取连接字符串。.csproj
文件的文件夹)$env:ASPNETCORE_ENVIRONMENT='Production'
暂时切换到生产环境。dotnet ef database update