1
内使用我有这样的功能:该 '等待' 操作符只能异步lambda表达式错误
public async Task<IEnumerable<RegionBreif>> GetAsync()
{
return await Table.Where(x => x.SiteId == _siteId).Select(r => new RegionBreif
{
IsServiceable = await RegionBreif.checkIfServicable(Context, r.SiteId, r.Id)
}).ToArrayAsync();
}
而这个功能:
public static async Task<bool?> checkIfServicable(DbContext context, int? _siteId, int _regionId)
{
var t = (from ir in context.Set<InspectionReview>()
join so in context.Set<SiteObject>() on ir.ObjectId equals so.Id
where so.SiteRegionId == _regionId && so.SiteId == _siteId
select (bool?)
ir.IsNormal);
return t.Count() == 0 ? (bool?)null : t.Any(x => x.Value == false) ? false : true;
}
在此行:
await RegionBreif.checkIfServicable(Context, r.SiteId, r.Id)
我收到此错误:
错误13'await'操作符只能在异步lambda表达式中使用。考虑用'async'修饰符标记这个lambda表达式。
注意,现在这样会使'ToArrayAsync()'重新运行'任务 [ ]>'而不是'任务'。 –