我有 4 个项目:
Toombu.Entities : all models are there
Toombu.DataAccess: Mapping, Repository and ToombuContext
Toombu.Logique : Logic of my application
Toombu.Web : MVC 4 application. With all others DLL.
我尝试启用迁移东布网但我有这个错误:
在程序集中找不到上下文类型
如何启用迁移?
我很惊讶没有人提到这个问题的明显答案:实体框架需要一个上下文才能使启用迁移起作用。 OP 发布的错误消息表明未找到上下文。当然,这可能是因为包管理器控制台没有“看到”上下文——在这种情况下,接受的答案是一个可能的解决方案(我建议的另一个解决方案如下)。但在任何其他解决方案发挥作用之前,当前项目(程序集)中必须存在上下文。
有上下文意味着什么?这意味着您的项目中必须存在一个继承自DbContext(在System.Data.Entity中)的类。这是一个例子:
public class MyDbContext : DbContext
{
public MyDbContext()
{
}
}
请确保您使用
using System.Data.Entity;
在上面的代码可以访问 DbContext 类并且您已使用 NuGet 获取当前项目的 Entity Framework 4.1 或更高版本之前。
如果您一直都有上下文,但包管理器控制台只是没有“看到”它:在 Visual Studio 2013 中,您不必使用 -ProjectName 开关。相反,请转到包管理器控制台(它位于“视图”|“其他窗口”列表中),然后查看出现在“包管理器控制台”可停靠窗口顶部的两个下拉列表。第一个下拉列表用于包源;第二个是默认项目。如果您下拉“默认项目”并在解决方案中选择一个项目,那么您在包管理器控制台中发出的任何命令都将针对所选项目执行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)