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