在Package Manager控制台中第一次为Entity Framework Code First运行Enable-Migrations
命令时,这应该是关于参数使用的一个非常基本的问题。以下是我的解决方案的分离方法:
当我运行Enable-Migrations时,我收到一个令人讨厌的错误:
无法加载程序集“MyMvcApp.DataModeling”。 (如果在Visual Studio中使用Code First Migrations,如果解决方案的startUp项目未引用包含迁移的项目,则可能会发生这种情况。您可以更改解决方案的startUp项目或使用-StartUpProjectName参数。)< / em>的
我似乎经历了“默认项目名称”(包管理器控制台下拉列表)的每个排列,并添加-ProjectName
无济于事。 (我的解决方案的启动项目是MVC项目FYI)。
鉴于我如何分离项目,如何让Enable-Migrations
命令工作?
答案 0 :(得分:0)
事实证明,问题在于您绝对需要一个App.config文件,其中包含项目中的连接字符串以及启用迁移的DbContext类。在我的例子中,这是MyMvcApp.DataModeling项目。我以为我可以在我的MVC项目的Web.config文件中使用连接字符串,方法是在我的Enable-Migrations控制台命令中添加-StartUpProjectName 'MyMvcApp.Web'
参数,但这似乎不起作用。
对于它的价值,如果您只想生成数据库而不启用迁移,则不需要在DataModeling项目中使用App.config。您只需将以下代码行添加到Global.asax文件并运行您的应用程序:
using (var context = new EntityContext())
{
context.Database.Initialize(false);
}