使用Count进行OData聚合查询

时间:2017-01-02 13:18:57

标签: asp.net-web-api2 odata

在odata 5.3.1中,聚合查询无效,因此我编写了自定义facet类以获取项目的聚合计数。 的 http://localhost/odata/Document $申请= GROUPBY((类别),%20aggregate(文件/ $计数%20AS%20Total))

但是在Odata 5.9.1中,上述查询失败了,因为它已经包含了聚合函数。所以对于我的自定义方法,它无法正常工作。

GithHub aggregate function

我想要这样的数据:

  "value": [
{ "name" : "doc1", "version" 2: , "total": 5 },
{ "name" : "doc2", "version" 1: , "total": 8 },
{ "name" : "doc2", "version" 2: , "total": 2 },

那么查询应该如何? 这里"版本"是一个字符串属性。

1 个答案:

答案 0 :(得分:0)

为此操作找到正确的查询。将相同的类属性添加到模型类。让我们有一个名为Document& amp;的模型类。添加属性

public Document Documents {get;set;} 

然后为Asp.net Odata 5.9.1使用关键词 countdistinct

 http://localhost/odata/Document?$apply=groupby((Category), aggregate(Documents with countdistinct as Total))

因此,它会返回确切的总计数。