使Web API控制器异步返回IQueryable列表

Ger*_*nes 7 .net c# asynchronous web-services asp.net-web-api

我一直试图让以下控制器方法异步

public IQueryable<Category> GetCategories()
{
    return _context.Categories;
}
Run Code Online (Sandbox Code Playgroud)

我添加了以下内容以使其异步

public async Task<IQueryable<Category>> GetCategories()
{
    return await _context.Categories;
}
Run Code Online (Sandbox Code Playgroud)

System.Data.Entity.DbSet类型是不可等的

我不确定如何在保持IQueryable的同时让db上下文返回所有实体.

你如何使上述方法异步?谢谢或帮助.

Ste*_*ary 7

听起来你正在实现一个OData端点.如果你在这个级别执行它(DbSet直接从你的控制器返回),异步性质完全取决于WebAPI; 所有你正在做的就是返回IQueryable它可以同步或异步使用它.

没有什么可以做到"使"它异步,并没有理由.