这是我的带有 ODATA 操作的 ODATA 控制器。
public class MyController : ODataController
{
private readonly Repository_repo;
public MyController(IRepository repo)
{
_repo = repo;
}
[EnableQuery(PageSize = 10, EnsureStableOrdering = false)]
public IActionResult Get()
{
var data = _repo.GetData();
return Ok(data)
}
}
这是我的存储库方法。
public IQueryable<DataModel> GetData() => _db.DbSet.Select(data=> new DataModel
{
// Implement model
}).
现在我明白了将 repo 中的 GetData 方法设置为异步是没有意义的,因为这只是返回一个可查询的,直到您将其称为枚举器时才会执行。
所以做异步的部分是动作方法。我如何使它成为异步等待调用?据我所知,Odata EnableQuery 方法需要一个 IQueryable 。