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()'重新運行'任務 [ ]>'而不是'任務'。 –