找不到DBSet <entity>类(实体框架加载了错误的DLL?)

时间:2016-03-08 23:36:40

标签: c# .net asp.net-mvc visual-studio entity-framework-6

在我的Visual Studio 2015项目中,我有一个声明

public DBSet<Page> Pages { get; set; }

给了我错误

  

找不到类型或命名空间名称'DBSet'(您是否缺少using指令或程序集引用?)

..这不应该发生,因为我有......

using System.Data.Entity;

在文件的开头。

DBSet类是在Entity Framework 5中引入的。我使用的是V 6.1.32。

我觉得这与我的其他问题有关:ModelConfiguration does not exist in the namespace 'System.Data.Entity'

似乎尽管安装了EF 6,但仍在使用EF 4的DLL。如果我尝试手动添加对system.data.entity的引用(显然不是一个好主意)4.0.0.0是显示的版本号。

我尝试了以下顺序(正如我在其他问题的评论中所建议的那样)......

  1. 使用NuGet卸载EF。
  2. 删除bin文件夹
  3. 使用NuGet重新安装EF
  4. 我甚至尝试卸载并重新安装VS 2015。

    我的项目或计算机中是否有另一个文件夹包含可能由VS使用的DLL?

    安装SQL Server Management Studio 2014时,还会自动安装VS 2010。这会干扰VS 2015吗?

    我非常绝望,因为这阻止了我继续我的MVC项目。

1 个答案:

答案 0 :(得分:2)

检查外壳。我相信它是:DbSet<T>。所以,在这种情况下:

public DbSet<Page> Pages { get; set; }