【发布时间】:2016-11-21 00:26:58
【问题描述】:
使用包管理器控制台,我可以运行类似于以下命令的命令
Update-Database -ProjectName: My.Project.Data
该命令触发在位于当前打开的解决方案中的项目 My.Project.Data 中定义的 MyDbContext 上的迁移。很好。
现在My.Project.Data 项目与My.Project.Mvc 项目位于同一个解决方案中。问题是,My.Project.Mvc 使用了两个数据库上下文。一个我们已经介绍过,另一个在项目Core.Project.Data 中定义——这个构建为 NuGet 包,然后由My.Project.Mvc 引用。下图应该清楚了:
MySolution
├┬ My.Project.Mvc
│├─ references: My.Project.Data (in the same solution)
│└─ references: Core.Project.Data (NuGet)
└─ My.Project.Data [MyDbContext]
CoreSolution
└─ Core.Project.Data [CoreDbContext]
问题是,如何从MySolution 的包管理器控制台触发CoreDbContext 的迁移。如果我尝试运行 Update-Database -ProjectName: Core.Project.Data 我会收到错误:
Get-Project : Project 'Core.Project.Data' is not found.
更新:不能选择使用 migrate.exe。
【问题讨论】:
-
您的 Nuget 包可能有问题吗? github.com/NuGet/NuGetGallery/issues/2884
-
@SteveGreene,感谢链接。但是我尝试重新启动 PC,清理解决方案,重建解决方案......这些都没有帮助
标签: c# entity-framework entity-framework-6 dbcontext