EF 6 中缺少 QueryableExtensions
Missing QueryableExtensions in EF 6
我不能调用新的 QueryableExtensions
(ToListAsync
, ForEachAsync
,...) EntityFramework 6. 但是我可以调用其他的 (Include
, Intersect
).
我参考了 System.Data.Entity
。
显然,我有一个旧版本的 System.Data.Entity
,以及最新版本的 EntityFramework。可能吗?
我的代码无法编译,我在对象浏览器中看不到 ForEachAsync
方法。
我正在使用 Visual Studio 2013,.Net 4.5,EntityFramework 6.1.3,Wpf。
编辑
Entity framework 已安装:
我多次尝试卸载然后重新安装软件包,并重新启动 visual studio。仍然无法正常工作
编辑
在另一个项目(本项目引用)中,我可以在对象浏览器中看到需要的IQueryableExtensions
。如果我将这个项目添加到我的解决方案中(之前它只是一个参考),对象浏览器中缺少所需的 IQueryableExtensions
。
您需要参考 EntityFramework.dll
。手动删除对 System.Data.Entity.dll
的引用(如果存在)。
在 MSDN
上查看 QueryableExtensions
使用 Nuget 应该很简单,因为这将为您添加依赖项
install-package EntityFramework
或使用更新命令
Update-Package –reinstall EntityFramework
这将安装最新版本的 Entity Framework (6.1.3)
您的一个项目可能针对旧版本的 .net 框架。
当一个项目以 .Net v4.0 为目标时,我遇到了这个问题,请将其更新到 4.5 或更新版本。
之后我也运行别人推荐的命令
update-package -reinstall EntityFramework
当您在包控制台中 运行 update-package 命令时,您可以看到目标的 .Net 版本。例如我的项目以 4.0
为目标时的输出
PM> Update-Package –reinstall EntityFramework
Attempting to gather dependencies information for multiple packages with respect to project '[My project]', targeting '.NETFramework,Version=v4.0'
然后是 v4.5.2:
PM> Update-Package –reinstall EntityFramework
Attempting to gather dependencies information for multiple packages with respect to project '[My Project]', targeting '.NETFramework,Version=v4.5.2'
您通过以下方式更新您的 .net 版本:
right clicking on the project in the solution explorer,
choosing "Properties"
on the Application Tab (default) from the DropDown list labeled "Target Framework" select 4.5 (or greater - I chose 4.5.2)
您可能不需要重新安装该软件包,但我在检查它是否有效之前重新安装了它。
当您的项目面向 .NET v4.0 时,您可能已经安装了 EntityFramework 包。即使您已将项目迁移到 .NET v4.5,QueryableExtensions
class 仍然不包含异步方法,因为该包是在迁移之前安装的。
只需重新安装 Entity Framework 软件包。
我不能调用新的 QueryableExtensions
(ToListAsync
, ForEachAsync
,...) EntityFramework 6. 但是我可以调用其他的 (Include
, Intersect
).
我参考了 System.Data.Entity
。
显然,我有一个旧版本的 System.Data.Entity
,以及最新版本的 EntityFramework。可能吗?
我的代码无法编译,我在对象浏览器中看不到 ForEachAsync
方法。
我正在使用 Visual Studio 2013,.Net 4.5,EntityFramework 6.1.3,Wpf。
编辑
Entity framework 已安装:
我多次尝试卸载然后重新安装软件包,并重新启动 visual studio。仍然无法正常工作
编辑
在另一个项目(本项目引用)中,我可以在对象浏览器中看到需要的IQueryableExtensions
。如果我将这个项目添加到我的解决方案中(之前它只是一个参考),对象浏览器中缺少所需的 IQueryableExtensions
。
您需要参考 EntityFramework.dll
。手动删除对 System.Data.Entity.dll
的引用(如果存在)。
在 MSDN
上查看 QueryableExtensions使用 Nuget 应该很简单,因为这将为您添加依赖项
install-package EntityFramework
或使用更新命令
Update-Package –reinstall EntityFramework
这将安装最新版本的 Entity Framework (6.1.3)
您的一个项目可能针对旧版本的 .net 框架。
当一个项目以 .Net v4.0 为目标时,我遇到了这个问题,请将其更新到 4.5 或更新版本。 之后我也运行别人推荐的命令
update-package -reinstall EntityFramework
当您在包控制台中 运行 update-package 命令时,您可以看到目标的 .Net 版本。例如我的项目以 4.0
为目标时的输出PM> Update-Package –reinstall EntityFramework
Attempting to gather dependencies information for multiple packages with respect to project '[My project]', targeting '.NETFramework,Version=v4.0'
然后是 v4.5.2:
PM> Update-Package –reinstall EntityFramework
Attempting to gather dependencies information for multiple packages with respect to project '[My Project]', targeting '.NETFramework,Version=v4.5.2'
您通过以下方式更新您的 .net 版本:
right clicking on the project in the solution explorer,
choosing "Properties"
on the Application Tab (default) from the DropDown list labeled "Target Framework" select 4.5 (or greater - I chose 4.5.2)
您可能不需要重新安装该软件包,但我在检查它是否有效之前重新安装了它。
当您的项目面向 .NET v4.0 时,您可能已经安装了 EntityFramework 包。即使您已将项目迁移到 .NET v4.5,QueryableExtensions
class 仍然不包含异步方法,因为该包是在迁移之前安装的。
只需重新安装 Entity Framework 软件包。