c# - EF 6 中缺少 QueryableExtensions

标签 c# wpf entity-framework extension-methods iqueryable

我无法调用 EntityFramework 6 提供的新的 QueryableExtensions(ToListAsyncForEachAsync,...)。但我可以调用其他(包含相交)。

我有一个对 System.Data.Entity 的引用。 显然,我有一个旧版本的 System.Data.Entity,以及最新版本的 EntityFramework。可能吗?

我的代码没有编译,我在对象浏览器中看不到 ForEachAsync 方法。

我正在使用 Visual Studio 2013、.Net 4.5、EntityFramework 6.1.3、Wpf。

编辑

Entity Framework 已安装: EF installed

我多次尝试卸载然后重新安装包,并重新启动 visual studio。还是不行

编辑

在另一个项目(由本项目引用)中,我可以看到对象浏览器中需要的 IQueryableExtensions。如果我将这个项目添加到我的解决方案中(之前它只是一个引用),对象浏览器中缺少所需的 IQueryableExtensions

最佳答案

您的一个项目可能针对旧版本的 .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)

您可能不需要重新安装该软件包,但我在检查它是否有效之前重新安装了它。

关于c# - EF 6 中缺少 QueryableExtensions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32346016/

相关文章:

c# - 如何获取一维数组的 "edges"

c# - ResourceDictionary 中的自定义 TabItem

wpf - MSIX 使用 Azure SSO 的已安装 WPF 应用程序将无法启动

c# - 更新 ListBox 内的项目

c# - 当我没有该类型的 DbSet 时,如何删除该实体?

c# - 我是否在依赖者或委托(delegate)人上定义两个实体之间的关系?

c# - 在计算机休眠或 sleep 后恢复后,在 WPF 中使用什么事件来更新应用程序?

c# - 将word文档另存为图片

WPF 绑定(bind)到一个不变的属性

c# - 从 ADO.NET 迁移到 ADO.NET Entity Framework