我正在尝试找出使用异步等待方式通过Entity Framework选择数据的最佳方法。在下面的代码中,我有两个选项。
第一个选项使用Task.FromResult。
第二个选项尝试使用异步等待关键字来优化代码。
1.
第一个选项使用Task.FromResult。
第二个选项尝试使用异步等待关键字来优化代码。
1.
public Task<IEnumerable<DesignExample>> ExecuteAsync(GetAllExamplesQuery query)
{
var designExamples = _copyDataDb.DesignExamples.OrderBy(dE => dE.Order).Select(DesignExample.MapFromEntity);
return Task.FromResult(designExamples);
}
2.
public async Task<IEnumerable<DesignExample>> ExecuteAsync(GetAllExamplesQuery query)
{
var designExamples = await _copyDataDb.DesignExamples.OrderBy(dE => dE.Order).ToListAsync();
return designExamples.Select(DesignExample.MapFromEntity);
}
- 第二个选项在总体性能方面是否比第一个选项更加优秀?
- 在这种情况下,第二个选项将等待对数据库的调用,但是真的会给我带来任何好处吗?