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

本文关键字:安装 EF 找不到 DbContext 命名空间 类型 | 更新日期: 2023-09-27 18:17:35

我使用的是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; }

我还错过了什么?

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

Install-Package EntityFramework -version 5.0.0

原来这个项目是用目标框架3.5编译的,当我把它改成4.5时,它工作了。谢谢大家的评论

using System.Data.Entity;

//这将解决DbContextDbSet错误

您是否尝试引用EntityFramework.dll来代替?或者您可以尝试使用完全限定的名称"public System.Data.Entity.DbContext mycontext {get;设置;}"。

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

解决了这个问题

添加Dll EntityFramework. Dll 如果您正在使用EntityFramework Version 6

如果这是一个太晚的回应道歉:我今天在VS2015中遇到了同样的问题。无论如何,完全限定名就可以了,

公共类StudentEntities: System.Data.Entity.DbContext

从Visual Studio 2015升级到2017后,我得到了这个错误。我关闭了VS,删除了我的。so文件,重新启动VS,重建了解决方案,现在一切都很好。

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