我使用.NET 4.0,MVC3和EF5与代码第一。
我的解决方案分为三个项目,依赖关系如图所示:
Project.Web – > Project.BLL – > Project.DAL
Project.DAL层包含我的实体框架数据上下文类和所有我的实体,但我的启动项目是Project.Web,所以它包含我的Web.config,连接字符串和实际的sql压缩数据库。
我试图启用迁移,所以我可以添加一个新的表到我的EF模型,而不擦除现有的数据。但是,当我运行“启用迁移”,我得到
No context type was found in the assembly 'Project.Web'.
如果我将启动项目设置为Project.DAL,错误更改为
Could not load assembly 'Project.Web'. (If you are using Code First Migrations inside Visual Studio this can happen if the startUp project for your solution does not reference the project that contains your migrations. You can either change the startUp project for your solution or use the -StartUpProjectName parameter.)
解决方法
我最终在
this问题中找到答案。基本上,在包管理器控制台中有一个“默认项目”下拉列表。您需要将此设置为包含您的EF上下文的项目。