0

在 Breeze.js inlineCount( http://www.breezejs.com/sites/all/apidocs/classes/EntityQuery.html#method_inlineCount ) 中实现了 odata inlinecount 参数 ( http://www.odata.org/documentation/uri-约定#InlinecountSystemQueryOption )

所以它显示过滤后的总计数但没有分页。

但是 Breeze 或 odata 中是否有一种“内联”方式也可以在不过滤单个微风查询的情况下获得完整计数?即在没有指定过滤的情况下将返回的所有记录的计数。我知道我可以为此做一个单独的查询,但希望有一种方法可以在一次操作中完成。

如果这是一个愚蠢的问题,请道歉;我仍在学习 odata 和 Breeze。我问的原因是我正在使用 datatables.net,它需要总计数、过滤计数和记录数,因此它可以显示类似

Showing 1 to 10 of 48 entries (filtered from 148 total entries)
4

1 回答 1

1

我想不出一个简单的方法来通过单个查询来做到这一点。

如果我理解您的问题,您提交的每个查询基本上需要三个计数

  1. 实际返回的查询结果计数 - (通过 'results.length' 轻松获得)
  2. 没有任何跳过或采取(通过查询上的“.inlinecount()”方法获得的查询结果的计数。
  3. 在没有任何过滤或跳过或采取的情况下将返回的查询结果的计数。即整个“资源”的计数。(如果没有单独的查询,这很难)。

如果这是正确的,那么我认为您坚持执行两个查询,一个是获取整个“资源”(即上面的#3)的计数,另一个是使用#1和#2的“inlinecount”方法

于 2013-03-21T23:02:55.470 回答