如何将 Task<IEnumerable<IMapLocationItem>>
转换为 IEnumerable<IMapLocationItem>
?
这是获取 Task<IEnumerable<IMapLocationItem>>
的代码:
public async Task<IEnumerable<IMapLocationItem>> GetAllMapLocationItemsFromUserName(string userName)
{
IEnumerable<IMapLocationItem> mapLocationImageGalleries = await db.mapLocationImageGalleries.Where(m => m.userName.Equals(userName)).ToListAsync();
IEnumerable<IMapLocationItem> mapLocationVideoGalleries = await db.mapLocationVideoGalleries.Where(m => m.userName.Equals(userName)).ToListAsync();
IEnumerable<IMapLocationItem> mapLocationItemsCombined = mapLocationImageGalleries.Concat(mapLocationVideoGalleries);
return mapLocationItemsCombined;
}
我可以使用关键字.Result
,但我在某个地方读到过,这会使async
任务失去异步性,并且当使用Result关键字时,该方法需要很长时间才能完成。
将Task<IEnumerable<IMapLocationItem>>
强制转换为IEnumerable<IMapLocationItem>
的最佳方法是什么?
提前致谢