C# EntityFramework从6.0更新到6.1.3后仍然没有异步方法?

C# EntityFramework从6.0更新到6.1.3后仍然没有异步方法?,c#,entity-framework,asp.net-mvc-4,entity-framework-6,C#,Entity Framework,Asp.net Mvc 4,Entity Framework 6,我有一个ASP.NET MVC4,它通过EntityFramework 6.0与数据库通信。DbContext是首先使用EDMX设计器和数据库创建的。该应用程序针对.NET Framework 4.0 为了能够使用新的异步方法,如.FirstOrDefaultAsync(),我尝试将EF升级到当前的稳定版本6.1.3 因此,我在Nuget控制台中运行了更新包EntityFramework。花了几秒钟时间,没有出现错误消息,安装以以下方式结束: Successfully installed 'En

我有一个ASP.NET MVC4,它通过EntityFramework 6.0与数据库通信。DbContext是首先使用EDMX设计器和数据库创建的。该应用程序针对.NET Framework 4.0

为了能够使用新的异步方法,如
.FirstOrDefaultAsync()
,我尝试将EF升级到当前的稳定版本6.1.3

因此,我在Nuget控制台中运行了
更新包EntityFramework
。花了几秒钟时间,没有出现错误消息,安装以以下方式结束:

Successfully installed 'EntityFramework 6.1.3' to MyProject
之后,我运行了Build-->Clean Solution,然后重新构建所有内容。接下来,我确保我的控制器包含以下使用语句(除其他语句外):

但是,我仍然不能使用任何异步方法,它们根本找不到。下面是一个例子:

using (MyEntities db = new MyEntities())
{
    var dp = await db.DataPoints.FirstOrDefaultAsync(x => x.Id == DataPointId);
}
FirstOrDefaultAsync被Intellisense标记为错误,在尝试以任何方式构建时,我收到以下错误:

'DbSet<DataPoint>' does not contain a definition for 'FirstOrDefaultAsync' and no extension method 'FirstOrDefaultAsync' accepting a first argument of type 'DbSet<DataPoint>' could be found (are you missing a using directive or an assembly reference?)
“DbSet”不包含“FirstOrDefaultAsync”的定义,并且找不到接受“DbSet”类型的第一个参数的扩展方法“FirstOrDefaultAsync”(是否缺少using指令或程序集引用?)

如何解决此问题?需要采取哪些行动?谢谢你的帮助

您需要卸载所有NuGet软件包,将目标.NET版本更改为4.5或更高版本,然后重新安装所有NuGet软件包


然后打开
web.config
,然后打开目标版本。

目标.NET版本是什么?目标.NET版本是4.0.Nope。你知道,4.0没有异步支持。更新至。。。。我想是4.5。转到4.6.x或4.5.2,对4.5.x的支持已经结束了。谢谢。我直奔4.6.1(谢谢,亨克)。您需要为每个软件包运行更新软件包-重新安装[PackageName]。
'DbSet<DataPoint>' does not contain a definition for 'FirstOrDefaultAsync' and no extension method 'FirstOrDefaultAsync' accepting a first argument of type 'DbSet<DataPoint>' could be found (are you missing a using directive or an assembly reference?)