2017-01-02 4 views
0

В odata 5.3.1 агрегированный запрос не работал, так что я написал свой собственный класс фасет, чтобы получить агрегатное количество элементов. http://localhost/odata/Document $ применяются = GroupBy ((Категория),% 20aggregate (Документ/$ Количество% 20as% 20Total))Запрос агрегата OData с графом

Но в 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 }, 

]

Так как должно быть запрос? Здесь «версия» является строковым свойством.

ответ

0

Нашел правильный запрос для этой операции. Добавьте одно и то же свойство класса в класс модели. Пусть есть класс модели называется Document & добавить свойство

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)) 

Так что возвращается точное общее количество.

Смежные вопросы