如何设置启动项目以更新已发布的ASP.NET5中的数据库MVC6项目?

时间:2015-10-13 12:13:45

标签: c# asp.net-core asp.net-core-mvc entity-framework-core

EF7项目中有两个MVC6 (beta-7) db-contexts。其中第一个(我们称之为StartupContext)位于启动项目(MyProject.Startup)中。第二个(我们称之为DataContext)在一个单独的程序集中(MyProject.Data)。

project.jsonMyProject.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但未成功的文件夹中。

还有其他人有过类似的问题吗?

如何更新数据库并从已发布的项目创建迁移?

1 个答案:

答案 0 :(得分:1)

这是EF7-beta7中的一个错误,应该在即将发布的RC版RC1中修复。

如果你之前需要(就像非常那样)这个功能,你可以使用EF的夜间版本。 (注意:夜间构建有很多不稳定性。)