如何将EF迁移应用于Azure托管的数据库?

时间:2018-08-08 22:04:45

标签: visual-studio azure asp.net-core entity-framework-core

我正在创建一个ASP.NET Core API,我的解决方案中有一个名为MyProj.API的项目,还有一个名为MyProj.Data的项目。它们都是Core Web应用程序项目。简而言之,API项目包含所有控制器和其他逻辑,而Data项目包含模型,上下文,存储库和迁移。我已成功将应用程序托管到Azure,但是要点是,发布API项目时,没有选择要应用的迁移的选项。但是,如果我在dotnet ef dbcontext list --json项目中运行API命令,它将成功向我显示来自Data项目的上下文。因此,我想了解是否有一种方法可以手动将迁移应用于Azure托管的应用?

2 个答案:

答案 0 :(得分:1)

要手动迁移到.net核心,可以遵循此link

您可能需要在VS的Package Manager控制台下手动运行update-database,或者可以使用Powershell, 并cd到您的项目目录,然后执行dotnet ef database update 将针对您的上下文的所有未完成的迁移应用到数据库,然后将您的应用程序部署到azure Web应用程序。

详细步骤如下: 在visual studio->程序包管理器控制台中,运行以下命令:

1. dotnet ef migrations add AddProperty
2. dotnet ef database update

然后重新发布项目。

此外,您也可以遵循类似的issue

答案 1 :(得分:1)

您可以applying migrations at runtime或将Update-Database-ConnectionString参数一起使用。

要获取帮助,请键入Get-Help Update-Database -detailed