找不到类型或命名空间名称'DbContext'(已安装EF)

时间:2014-08-12 16:49:18

标签: c# entity-framework visual-studio-2012

我正在使用VS 2012.我使用Nuget安装了EntityFramework(版本6.1.1),并添加了对System.DataSystem.Data.Entity的引用,但是当我打开一个新类时在解决方案中并参考DbContext,它说:

  

"类型或命名空间名称' DbContext'找不到(是你吗?   缺少using指令或汇编引用?)"

奇怪的是,DbContext是绿色的,就像每个公认的类一样,当我按F12查看DbContext类时,它会将我带到System.Data.Entity.DbContext类,应该是这样。

public DbContext MyContex { get; set; }

与DbSet相同的欢乐

public DbSet<TEntity> MySet { get; set; }

我还缺少什么?

8 个答案:

答案 0 :(得分:3)

原来这个项目是用Target Framework 3.5编译的,当我将它改为4.5时就可以了。谢谢大家的评论。

答案 1 :(得分:3)

Install-Package EntityFramework -version 5.0.0

答案 2 :(得分:2)

使用System.Data.Entity;

//这将解决 DbContext DbSet 错误

答案 3 :(得分:1)

您是否尝试过引用EntityFramework.dll?或者也许您可以尝试完全限定名称“public System.Data.Entity.DbContext MyContex {get; set;}”。

答案 4 :(得分:1)

问题主要发生在您更改.Net解决方案的版本时。我通过

解决了问题

如果您使用的是EntityFramework版本6,则添加Dll EntityFramework.dll

答案 5 :(得分:1)

道歉,如果答案太晚了:我今天和VS2015有同样的问题。无论如何,完全合格的名字将完成这项工作,

  

public class StudentEntities:System.Data.Entity.DbContext

答案 6 :(得分:0)

从Visual Studio 2015升级到2017后,我收到此错误。我关闭了VS,删除了我的.suo文件,重新启动了VS,重建了解决方案,现在一切正常。

答案 7 :(得分:0)

我正在向现有解决方案添加新项目并遇到同样的问题。我用过工具 - &gt; NuGet包管理器 - &gt;管理解决方案的NuGet包...我能够看到所有其他项目使用的版本。这样,我就可以为我的项目选择相同的版本,这个版本在其余部分中使用。