DBContext,DBSet<>的引用在实体框架中

时间:2011-02-04 13:56:47

标签: c# .net entity-framework entity-framework-4 ado.net-entity-data-model

我正在尝试使用最新Entity Framework 4.0的ADO.Net Codefirst功能。作为其中的一部分,我从Microsft安装Entity Framework CTP 4并使用Scott's tutorial首先创建模型。在教程内DBContextDBSet<>已指定。有些人可以告诉我们为了访问这个类而使用的引用是什么。

我使用了以下参考资料,但DBContextDBSet<>

没有任何结果
  • System.Data.Entity的
  • System.Data.Entity.Design

7 个答案:

答案 0 :(得分:26)

如果您拥有它,可以使用库包管理器(它随MVC 3.0自动安装)。

在Visual Studio 2010中的项目中,转到

Tools > Library Package Manager > Package Manager Console

在Visual Studio 2013中的项目中,转到

Tools > NuGet Package Manager > Package Manager Console

在控制台中,在PM>提示符后键入

install-package entityframework

这将安装包并将EntityFramework引用添加到您的项目中。

答案 1 :(得分:14)

使用CTP5代替它是更新的版本,并在API中进行了一些更改。您必须添加对安装在CTP目录中的EntityFramework.dll的引用 - 默认为:c:\ Program Files \ Microsoft ADO.NET实体框架功能CTP5 \ Binaries \ EntityFramework.dll适用于32位系统。在64位系统上,它将被放置在Program Files(x86)中。

答案 2 :(得分:4)

使用“DbContext”vs“DBContext”,以及“DbSet”vs“DBSet”。区分大小写是个问题。

答案 3 :(得分:2)

要将EF添加到项目中,请使用程序包管理器控制台并发出命令:

Install-Package EntityFramework

您不应该直接链接到DLL的安装位置,如另一个答案所述。

答案 4 :(得分:1)

博文提到集会:

  

使用的DbContext和DbSet类   以上是EF4的一部分   代码优先库。你需要   添加对的引用    System.Data.Entity.CTP 汇编   安装在\ Program中   Files \ Microsoft ADO.NET实体   框架功能CTP4 \二进制文件   目录来引用这些类。   您还需要添加“使用”   System.Data.Entity“命名空间   在你的顶部的声明   “NerdDinners”类文件。

但是我确实认为新的CTP5包含对codefirst的一些更改,所以我建议你去看一下。

答案 5 :(得分:1)

我正在关注MvcMusicStore教程(使用Mvc 4代替Mvc 3)。

我在第4部分中发现我遇到了这个问题(http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-4)。

当我使用System.Data.Entity; 添加以下引用时,出现以下错误:

名称空间“system.data”中不存在类型或命名空间名称“实体”

@ Fecklmore的解决方案对我有用。

转到工具&gt;打开包管理器控制台。库包管理器&gt;包管理器控制台。

然后键入以下内容: Install-Package EntityFramework

这会将EntityFramework(即EF)安装到您的项目中,并将消除上述错误。

答案 6 :(得分:0)

如果您使用的是.NET 3.5,那么请将目标框架更改为.NET 4.0