我使用Asp.Net Core 1.0和Entity Framework Core 1.1.0获得了几个项目
我有代码优先迁移方法,我通过Visual Studio 2015发布到Azure。
我以前在Azure Sql Server中应用迁移的方法是在发布上启用复选框:"实体框架迁移 - 在发布时应用此迁移",我在其中输入连接字符串。
我更新了几个软件包,现在对于我的一个项目,我还没有看到这个选项,以便在发布时应用迁移。我可以看到它试图发现数据上下文但它找不到任何东西(虽然它在同一个项目中......)
见下文:
我怀疑它与项目的某些依赖版本有关,而与我的IDE无关,因为我对两个项目使用相同的Visual Studio(2015更新3)。
我无法找到有关此信息。什么依赖允许这个选项?如果我发现哪个版本存在问题,那么剩下的问题是如何在发布时应用迁移?
两个项目都在Web项目中进行迁移,两个项目都使用"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.1.0"
更新1 :我设法找到了相关内容。似乎如果我使用这些依赖项:
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
"Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final"
Visual Studio能够查找数据上下文,并提供在发布时应用迁移的选项。但是,如果我使用这些依赖项的较新版本,如:
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
"Microsoft.EntityFrameworkCore.Design": "1.1.0"
然后,应用迁移的选项就消失了,VS在发布时找不到任何数据上下文。
我需要了解迁移事件和Asp.Net Core的最新状态。
答案 0 :(得分:2)
在创建空的ASP.NET Core Web API项目并添加迁移后,我在Visual Studio 2017中发现了一个非常类似的问题(发布无法在项目中查找要发布的数据上下文)。
为了使其工作,我在.csproj文件中包含以下行:
{{1}}
答案 1 :(得分:0)
要使用迁移,您可以使用程序包管理器控制台(PMC)或命令行界面(CLI) 使用PMC时,在发布期间不会发现EF迁移。 通过使用CLI,将显示EF迁移部分。