BreezeJS“group by”方法

时间:2013-10-01 17:00:07

标签: javascript breeze

是否有某种方法可以在BreezeJS中对从服务中下载的实体进行分组?

我找到了“where”“select”“orderBy”之类的东西,但我缺少“groupBy”方法

你知道是否存在吗?或者如果有其他方法可以做到这一点?

3 个答案:

答案 0 :(得分:3)

“GroupBy”不是OData查询标准的一部分,也不是Breeze支持的操作。

我可以想象这个操作的实用程序...返回表示组的数据结构并填充实体。如果分组是可预测的,您可以创建一个控制器端点来为您执行分组,并将该分组数据发送到客户端。 Breeze将收集隐藏在数据结构中的实体,您的查询结果将反映您委派给服务器的分组工作。

答案 1 :(得分:0)

“分组依据”究竟是什么意思? 也许Breeze允许这样的东西,但不是我所知道的。

由于Breeze的观点是发送可观察的结果,所以在SQL意义上的一个组,没有多大意义。你必须自己做。例如,count(*)如何成为可观察的?

答案 2 :(得分:0)

在我看来,一般意义上的GroupBy OData几乎没有兴趣。它可以使用OrderBy运算符轻松实现。

GroupBy的真正兴趣是执行聚合此服务器端

我一直在思考这个问题。我开发了产品AdaptiveLINQ(www.adaptivelinq.com),它通过其(服务器端:用于.Net开发人员)扩展方法QueryByCube允许指定简单Select指令的聚合。

因此,人们可以轻松地构建一项服务,例如,返回每位客户的总销售额:

http://.../MyAnalysisService.svc/Sales?$select=Customer, Sales

或按客户和产品类别

http://.../MyAnalysisService.svc/Sales?$select=Customer, ProductCategory, Sales