在mvc 4中找不到DbContext

时间:2013-05-01 08:06:32

标签: c# asp.net-mvc-4 .net-4.5

我正在使用Visual Studio 2012Framework 4.5创建一个Web应用程序,而我正在使用MVC 4而我遇到了问题。

我需要使用DbContext但我发现在我的项目中意味着我添加了System.Data.Entity并且它仍然会出错

  

无法找到类型或命名空间名称'DbContext'(是吗?   缺少using指令或程序集引用?)

我该如何解决这个问题??

6 个答案:

答案 0 :(得分:19)

DbContext位于EntityFramework.dllSee this for reference

您可以通过在PMC中输入此命令从nuget获取它

Install-Package EntityFramework -Version 5.0.0

您可以转到工具 - >进入PMC。库包管理器 - > VS中的程序包管理器控制台

答案 1 :(得分:4)

除了接受的答案之外,这可能会帮助那些尚未提及的人:

当我在Visual Studio 2012中的现有解决方案中创建新的mvc4项目时,我遇到了这个问题。解决方案已经包含了一个有效的mvc4项目,但是当我创建第二个项目时,它无法实现找到System.Data.Entity包(包括DbContext)。在这种情况下,install-package命令无法解决问题,因为整个解决方案已经安装了软件包:

PM> Install-Package EntityFramework
'EntityFramework 6.0.1' already installed.

问题是EntityFramework包没有自动安装在新项目中,您必须手动添加它。转到:

Tools -> Library Package Manager -> "Manage NuGet Packages for Solution..."

在右上角的框中搜索EntityFramework,单击“管理”,然后选中新解决方案的复选框。现在应该正确构建新项目。

答案 2 :(得分:3)

您可以通过以下步骤完成此操作:

在解决方案资源管理器中右键单击您的项目

选择添加参考...

查找 System.Data.Entity.dll 文件(或 EntityFramework.dll )并将其添加到您的项目中。

如果你安装了NuGet,你也可以完成同样的事情:

在解决方案资源管理器中右键单击您的项目

选择管理NuGet包...

搜索 EntityFramework 包。

单击“安装”将其添加到现有项目中。

成功将这些添加到您的应用程序后,您只需在页面中添加使用DbContext和DbSet对象的using语句:

using System.Data.Entity;

Reference Link

答案 3 :(得分:2)

我也遇到过这个问题,直到我从菜单中安装了EntityFramework后才能运行 - >项目 - >管理Nuget包......

答案 4 :(得分:0)

DbContext是EntityFramework.dll的一部分,而不是System.Data.Entity。

它是在EF 4.1中引入的。您可以使用visual studio 2012安装适当的NuGet包。例如右键单击Project并选择“Manange NuGet Packages”并找到适当的EF版本并安装它。

答案 5 :(得分:0)

当我在Visual Studio 2012的现有解决方案中创建新的mvc4项目时,我遇到了这个问题。解决方案已包含一个有效的mvc4项目,但是当我创建第二个项目时,找不到System.Data.Entity package(包括DbContext)。在这种情况下,install-package命令无法解决问题,因为整体解决方案已经安装了软件包:

PM> Install-Package EntityFramework
'EntityFramework 6.0.1' already installed.

问题是EntityFramework包没有自动安装在新项目中,您必须手动添加它。转到:

Tools -> Library Package Manager -> "Manage NuGet Packages for Solution..."

在右上角的框中搜索EntityFramework,单击“管理”,然后选中新解决方案的复选框。现在应该正确构建新项目。