【发布时间】:2013-08-02 12:36:16
【问题描述】:
这应该是关于在包管理器控制台中第一次为实体框架代码优先运行Enable-Migrations 命令时参数使用的一个非常基本的问题。以下是我的解决方案的分离方式:
- 我有一个名为 MyMvcApp.DomainEntities 的项目,其中包含我的域实体 POCO 类及其存储库的接口。
- 我有一个名为 MyMvcApp.DataModeling 的项目,其中包含 EF 参考(DbContext、存储库实现)。
- 最后,我有一个 MyMvcApp.Web 项目,它是 MVC4 项目,并且在 web.config 中还包含 EF 连接字符串(到本地 SQL Server DB)。
当我运行 Enable-Migrations 时,我收到一个令人讨厌的错误:
无法加载程序集“MyMvcApp.DataModeling”。 (如果您在 Visual Studio 中使用 Code First 迁移,如果您的解决方案的启动项目未引用包含您的迁移的项目,则可能会发生这种情况。您可以更改解决方案的启动项目或使用 -StartUpProjectName 参数。)
我似乎遍历了“默认项目名称”(包管理器控制台下拉菜单)的所有排列,并添加 -ProjectName 无济于事。 (我的解决方案的启动项目是 MVC 项目仅供参考)。
鉴于我是如何分离我的项目的,我如何让Enable-Migrations 命令工作?
【问题讨论】:
-
您是否在解决方案中配置了项目依赖项?您的迁移在您的数据建模项目中,对吗?
-
是的,所有的类引用都在那里并且解决方案构建。尚未创建任何迁移,因为我无法启用迁移,但是是的,我希望它们位于 MyMvcApp.DataModeling 项目中。
-
您是否尝试过“Enable-Migrations -StartUpProjectName MyMvcApp.Web”?
-
您是否选择了 .DataModeling 作为 Package Manager Console 中的默认项目?
-
这两件事我都做了。我发现了问题,现在会回答。
标签: entity-framework ef-code-first code-first entity-framework-migrations