我正在使用Entity Framework 6处理一些Web API,我的一个控制器方法是"Get All",它希望从我的数据库接收表的内容IQueryable<Entity>.在我的存储库中,我想知道是否有任何有利的理由以异步方式执行此操作,因为我不熟悉使用EF与异步.
基本上归结为
public async Task<IQueryable<URL>> GetAllUrlsAsync()
{
var urls = await context.Urls.ToListAsync();
return urls.AsQueryable();
}
Run Code Online (Sandbox Code Playgroud)
VS
public IQueryable<URL> GetAllUrls()
{
return context.Urls.AsQueryable();
}
Run Code Online (Sandbox Code Playgroud)
异步版本实际上是否会在这里产生性能优势,或者我是通过首先投射到List(使用async mind you)然后转向IQueryable而产生不必要的开销?