EF7
项目中有两个MVC6 (beta-7)
db-contexts。其中第一个(我们称之为StartupContext
)位于启动项目(MyProject.Startup
)中。第二个(我们称之为DataContext
)在一个单独的程序集中(MyProject.Data
)。
project.json
和MyProject.Startup
的{{1}}个文件中有一个命令:
MyProject.Data
我可以将它用于这样的数据库更新:
更新"dependencies": {
"EntityFramework.SqlServer": "7.0.0-beta7",
"EntityFramework.Commands": "7.0.0-beta7",
...
}
"commands": {
"ef": "EntityFramework.Commands"
...
}
我从启动文件夹运行StartupContext
命令:
ef
更新dnx ef database update
我从DataContext
项目的文件夹中运行ef
命令:
MyProject.Data
它完美地工作,但仅来自源(来自未发布的项目)。对于从已发布项目中更新dnx ef database update -c DataContext -s MyProject.Startup
,我得到这样的异常:
System.IO.FileNotFoundException:无法加载文件或程序集“MyProject.Data”或其依赖项之一。
我尝试了各种方法:
DataContext
我还尝试将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
但未成功的文件夹中。
还有其他人有过类似的问题吗?
如何更新数据库并从已发布的项目创建迁移?
答案 0 :(得分:1)
这是EF7-beta7中的一个错误,应该在即将发布的RC版RC1中修复。
如果你之前需要(就像非常那样)这个功能,你可以使用EF的夜间版本。 (注意:夜间构建有很多不稳定性。)