【发布时间】:2014-10-07 02:22:18
【问题描述】:
我正在使用 MVC5 中的 Identity 2.0,并且正在尝试为当前用户获取第一个角色。
这段代码没有报错:
var DatabaseContext = new ApplicationDbContext();
var thisUserAccount = DatabaseContext.Users.FirstAsync(u => u.Id == Id);
这段代码:
var DatabaseContext = new ApplicationDbContext();
var thisUserAccount = await DatabaseContext.Users.FirstAsync(u => u.Id == Id);
报告如下错误:
“await”运算符只能在异步方法中使用。考虑使用 'async' 修饰符标记此方法并将其返回类型更改为 'Task'
该方法是异步方法,为什么我不能使用“等待”?
另外,将调用:
DatabaseContext.Users.Load();
在 FirstAsync 之前稍微优化一下(而不是像我假设 FirstSync 那样构建一个 ToList)?
我仍在尝试了解异步内容可以做什么,因此非常感谢任何有用的链接。
【问题讨论】:
-
该方法是异步方法 - 你确定吗?您调用的方法必须是异步的。显示整个方法(或至少是签名)。
标签: c# asynchronous async-await