【发布时间】:2016-07-23 22:35:02
【问题描述】:
我有一个通过 EntityFramework 6.0 与数据库通信的 ASP.NET MVC4。 DbContext 是使用具有数据库优先的 EDMX 设计器创建的。该应用程序针对 .NET Framework 4.0。
为了能够使用.FirstOrDefaultAsync() 等新的异步方法,我尝试将 EF 升级到当前稳定版本 6.1.3。
所以我在 Nuget 控制台中运行了Update-Package EntityFramework。过了几秒钟,没有出现错误消息,安装结束:
Successfully installed 'EntityFramework 6.1.3' to MyProject
之后,我运行 Build --> Clean Solution,然后重新构建所有内容。接下来,我确保我的控制器包含这些 using 语句(除了其他语句):
using System.Data.Entity;
using System.Threading.Tasks;
但是,我仍然无法使用任何异步方法,根本找不到它们。这是一个例子:
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?)
我可以做些什么来解决这个问题?需要采取哪些措施?感谢您的帮助!
【问题讨论】:
-
您的目标是什么 .NET 版本?
-
目标 .NET 版本是 4.0。
-
不。你知道,4.0 没有异步支持。更新到.... 4.5,我想。
标签: c# entity-framework asp.net-mvc-4 entity-framework-6