【问题标题】:OData - Breeze - Custom QueryOData - Breeze - 自定义查询
【发布时间】:2013-06-20 02:36:28
【问题描述】:

我将 Breeze 用于 SPA 应用程序。后端数据来自访问 API(不是 EF)。

我将“任务”公开为一个可查询的集合。

在某些情况下,我想按 ID 请求单个任务。 OData 过滤器将被发送到服务器,但随后 Breeze 将必须查询数据库中的所有任务,然后应用过滤器。

有没有办法拦截 OData 过滤器,然后自己获取请求的单个记录?

谢谢

【问题讨论】:

    标签: asp.net-mvc-4 odata breeze


    【解决方案1】:

    您可以使用 Breeze EntityQuery.withParameters 方法。

    // Client
    var query = new EntityQuery("GetTaskById").withParameters( { "taskId": 126 });
    myEntityManager.executeQuery(query).then(...)
    
    // Server
    [HttpGet]
    public Task GetTaskById(int taskId) {
       // your task code.
    }
    

    请注意,您可以返回标量结果或 IQueryable,这意味着您还可以将 EntityQuery.where 子句与 EntityQuery.withParameter 子句混合搭配。 p>

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-06-29
      • 1970-01-01
      • 1970-01-01
      • 2014-05-17
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2019-04-03
      相关资源
      最近更新 更多