Rob*_*ert 3 c# entity-framework asp.net-mvc-4 entity-framework-6
我有一个通过EntityFramework 6.0与数据库对话的ASP.NET MVC4。DbContext是使用EDMX设计器(数据库优先)创建的。该应用程序针对.NET Framework 4.0。
为了能够使用新的异步方法,例如.FirstOrDefaultAsync()我尝试将EF升级到当前的稳定版本6.1.3。
所以我Update-Package EntityFramework在Nuget控制台中运行。花费了几秒钟,没有错误消息出现,安装结束:
Successfully installed 'EntityFramework 6.1.3' to MyProject
Run Code Online (Sandbox Code Playgroud)
之后,我运行Build-> Clean Solution,然后重新构建所有内容。接下来,我确保控制器包含以下using语句(除其他语句外):
using System.Data.Entity;
using System.Threading.Tasks;
Run Code Online (Sandbox Code Playgroud)
但是,我仍然不能使用任何异步方法,只是找不到它们。这是一个例子:
using (MyEntities db = new MyEntities())
{
var dp = await db.DataPoints.FirstOrDefaultAsync(x => x.Id == DataPointId);
}
Run Code Online (Sandbox Code Playgroud)
尝试构建时,Intellisense将 FirstOrDefaultAsync标记为错误,但出现此错误:
'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?)
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能解决这个问题?需要采取哪些行动?谢谢你的帮助!
您需要卸载所有的NuGet软件包,将目标.NET版本更改为4.5或更高版本,然后重新安装所有的NuGet软件包。
然后打开web.config,然后将元素的targetFramework属性设置为httpRuntime您要定位的版本。
| 归档时间: |
|
| 查看次数: |
601 次 |
| 最近记录: |