gpt4 book ai didi

c# - EntityFramework 将 6.0 更新到 6.1.3 后仍然没有异步方法吗?

转载 作者:行者123 更新时间:2023-11-30 14:50:31 25 4
gpt4 key购买 nike

我有一个通过 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,然后重建了所有内容。接下来,我确保我的 Controller 包含这些 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?)

我该怎么做才能解决这个问题?需要采取哪些行动?感谢您的帮助!

最佳答案

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

然后打开web.config然后set the targetFramework attribute of the httpRuntime element到您定位的版本。

关于c# - EntityFramework 将 6.0 更新到 6.1.3 后仍然没有异步方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36401744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com