我正在使用Visual Studio 2012
和Framework 4.5
创建一个Web应用程序,而我正在使用MVC 4
而我遇到了问题。
我需要使用DbContext
但我发现在我的项目中意味着我添加了System.Data.Entity并且它仍然会出错
无法找到类型或命名空间名称'DbContext'(是吗? 缺少using指令或程序集引用?)
我该如何解决这个问题??
答案 0 :(得分:19)
DbContext
位于EntityFramework.dll
。 See 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;
答案 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,单击“管理”,然后选中新解决方案的复选框。现在应该正确构建新项目。