我正在使用VS 2012.我使用Nuget安装了EntityFramework
(版本6.1.1),并添加了对System.Data
和System.Data.Entity
的引用,但是当我打开一个新类时在解决方案中并参考DbContext,它说:
"类型或命名空间名称' DbContext'找不到(是你吗? 缺少using指令或汇编引用?)"
奇怪的是,DbContext是绿色的,就像每个公认的类一样,当我按F12查看DbContext类时,它会将我带到System.Data.Entity.DbContext
类,应该是这样。
public DbContext MyContex { get; set; }
与DbSet相同的欢乐
public DbSet<TEntity> MySet { get; set; }
我还缺少什么?
答案 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包...我能够看到所有其他项目使用的版本。这样,我就可以为我的项目选择相同的版本,这个版本在其余部分中使用。