AspnetCore ODATA如何创建一个异步操作调用一个的await,能够查询

问题描述 投票:0回答:1

这是我与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
    }).

现在我明白了,没有1点进行的回购作为异步GetData方法,因为这只是其返回,直到你调用它的枚举没有得到执行可查询。

因此,为了使异步的部分是操作方法。我将如何使这是一个异步await-能打电话? ODATA EnableQuery方法需要一个IQueryable据我所知。

c# asp.net-core odata microsoft-odata
1个回答
0
投票

你不需要。操作方法是请求管道只是其中的一部分;它不是异步不被异步排除其他事情的管道。多数民众赞成在处理的OData查询中间件是什么是真正将查询发送到数据库,并极有可能这样做异步(我不熟悉的源代码,并不能肯定地说)。无论如何,你的动作仅需异步如果你真的在做事情异步在里面。否则,不用担心了。

© www.soinside.com 2019 - 2024. All rights reserved.