在一个EF7项目中有两个MVC6 (beta-7) db上下文。其中第一个(我们称之为StartupContext)是在启动项目(MyProject.Startup)中。第二个(让我们称之为DataContext)是在一个单独的程序集(MyProject.Data)中。
在project.json文件的MyProject.Startup和MyProject.Data中有一个命令
"dependencies": {
"EntityFramework.SqlServer": "7.0.0-beta7",
"EntityFramework.Commands": "7.0.0-beta7",
...
}
"commands": {
"ef": "EntityFramework.Commands"
...
}我可以将它用于数据库更新,如:
StartupContext,我从启动文件夹中运行ef命令:
dnx ef database updateDataContext,我从MyProject.Data项目的一个文件夹运行ef命令:
dnx ef database update -c DataContext -s MyProject.Startup它工作得很好,但只从来源(从未发表的项目)。在更新发布的项目的DataContext时,我得到了这样的例外:
System.IO.FileNotFoundException:无法加载文件或程序集"MyProject.Data“或其依赖项之一。
我尝试过各种方法:
dnx ef database update -c DataContext -s MyProject.Startup
dnx ef database update -c DataContext -s C:\Published\approot\packages\MyProject.Startup
dnx ef database update -c DataContext -s C:\Published\approot\packages\MyProject.Startup\1.0.0\root\
dnx ef database update -c DataContext -s C:\Published\approot\packages\MyProject.Startup\1.0.0\lib\MyProject.Startup.dll
dnx ef database update -c DataContext -s %~dp0approot\packages\MyProject.Startup
dnx ef database update -c DataContext -s %~dp0approot\packages\MyProject.Startup\1.0.0\root\我还试图将MyProject.Startup.dll复制到一个带有MyProject.Data的文件夹中,但没有成功。
其他人也有类似的问题吗?
如何更新数据库并从已发布的项目中创建迁移?
发布于 2015-10-16 18:39:53
这是EF7-Beta 7中的一个bug,应该在即将发布的EF RC1版本中修复。
如果您需要(在很大程度上是这样)这个功能之前,您可以使用每晚构建的EF。(警告:夜间建筑有很多不稳定性。)
https://stackoverflow.com/questions/33102426
复制相似问题