0

我正在研究 ac# asp.net MVC 项目。它是作为一个普通的旧 asp.net 项目提供给我的,我升级到 MVC 3。通常我将 vb.net 用于我的项目,但这是作为 ac# 交给我的项目。在我的所有项目中,我创建了一个使用泛型并且可以处理几乎所有基本情况的基础存储库,它引用的表由 System.Data.Entity 命名空间中的 IDbSet 类型的成员变量表示。这在我的 vb 项目中一直运行良好。在这个项目中,我收到一个编译错误,指出该类型无法识别,并询问我是否缺少 using 指令或程序集引用。

当我尝试像这样定义显式指定命名空间的变量时:

protected readonly System.Data.Entity.IDbSet mObjectSet;

我仍然收到错误,我在 System. 和数据之后。但是一旦我输入实体。我什么都得不到。我试过清理和重建,重新启动 Visual Studio,重新启动我的电脑。谷歌似乎没有一个相关的问题。任何帮助是极大的赞赏!

编辑:

我应该提到我已经引用了 System.Data.Entity 的 4.0.0.0 版本。

4

3 回答 3

6

IDbSet接口存在于EntityFramework.dll程序集中(不在System.Data.Entity.dll程序集中,请注意!)。只需添加对它的引用(References项目树中的文件夹,然后右键单击并选择Add reference或使用 NuGet 包管理器,如果您已经安装它)。

于 2012-07-04T04:45:17.987 回答
0

检查您是否有System.Data.Entity参考

编辑:我认为您需要版本 3.5.0.0 或 4.0.0.0

于 2012-07-04T04:42:26.510 回答
0

另请注意,VS 2010 默认创建实体框架 4.0(在 System.data.entity 内)实体模型,而 VS 2012 创建实体框架 5.0(在 EntityFramework.dll 内)模型。

于 2013-04-10T11:28:02.653 回答