命名空间"System.Data"中不存在类型或命名空间名称"Entity"

st *_*nmn 64 .net c# asp.net web-services entity-framework-4.1

我正在使用WS类,当我运行应用程序时它给了我错误:

The type or namespace name 'Entity' does not exist in the namespace 'System.Data' 
Run Code Online (Sandbox Code Playgroud)

我有一个参考System.Data;,System.Data.Entity; 但没有变化.我一直在收到错误.我也在web.config中行:

<compilation debug ="true" targetFramework="4.0"/>
Run Code Online (Sandbox Code Playgroud)

小智 91

右键单击Visual Studio Solution Explorer中的解决方案,单击Manage Nuget packages for solution并安装EntityFramework

  • 我已经安装了它,但我做了一个"Update-Package -reinstall",它解决了我的问题 (7认同)
  • (包括自动为你做的一切,对方回答说明). (2认同)

Ala*_*2.0 37

嗨,这篇文章非常具有误导性,如果你读这2年了.

在VS 2013中使用EF6和.net 4.5.1,我必须参考以下内容才能使其工作

using System.Data.Entity.Core.EntityClient;
Run Code Online (Sandbox Code Playgroud)

和以前有点不同,

对于那些来这里寻求新问题帮助而不是原始问题答案的人来说,这更像是一个FYI

  • 如果System.Data中不存在"实体",那么您如何推断System.Data.Entity.Core.EntityClient将起作用? (10认同)
  • 这是特定于 EF 6.3+ 的,其中引入了命名空间的 **`Core`** 部分(请参阅 [文档](https://learn.microsoft.com/en-us/ef/ef6/what-is -新/升级到 ef6#4-更新命名空间-for-any-core-ef-types-being-used)) (2认同)

st *_*nmn 27

谢谢大家!我找到了解决方案.不是我理解为什么,但我尝试了这个,它工作!我只需要添加一个引用:System.Data.Entity.Design 并且不必using在代码中写任何内容.谢谢!

  • 升级到EF 6.1后,我不得不添加对System.Data.Entity的引用,而不是Design ... (10认同)
  • 不要添加DESIGN参考!它工作的唯一原因是包括对System.Data.Entity的依赖,这是正确的引用,因为@DeanKuga说 (3认同)

小智 8

我有实体框架6.1.3,升级(好,在NuGet中降级更多)到6.1.2.工作.


gab*_*abe 7

这里的大多数答案似乎都缺乏对EF 6.2 和 6.3 之间发生的命名空间更改的认识。

我特意从 EF 6.1 升级到 6.3,以便能够面向 .NET Standard 2.1。但是,我不小心将 .NET Standard 2.0 用于我的库中的新目标,然后得到了The type or namespace name 'Entity' does not exist in the namespace 'System.Data'. 这个 GH 问题评论给了我需要修复的线索。我将 lib 目标更改为 .NET Standard 2.1 并编译了项目。无需重新安装、卸载或重新启动。


Gig*_*San 5

我将添加我的答案以涵盖所有情况:

我的解决方案是从 NuGet 包管理器卸载 EntityFramework,然后系统提示我重新启动 Visual Studio,因为它无法“完成卸载”。

我重新启动 Visual Studio 并重新安装 EntityFramework 然后我的问题就解决了。

希望这对某人有帮助!


小智 5

您需要通过右键单击VS解决方案来安装Entity框架,然后单击Manage NuGet Package solution并在那里搜索Entity框架.安装后问题将得到解决