OData v4.0 聚合查询(聚合查询语法)

OData v4.0 aggregate queries (aggregate query syntax)

例如, 我有一个对象模型:

Product
{ 
  int ProductId,
  string Name,
  List<Sale> Sales
}

GET: Product?$apply=groupby(Name, aggregate(Sales(Amount with sum as Total))) (遵循绿洲开放标准)

--> 收到错误:UriQueryExpressionParser_CloseParenOrCommaExpected="')' 或 ',' 应位于 '{1}' 中的位置 {0}。”。位置在 Amount.

GET: Product?$apply=groupby(Name, aggregate(Sales/Amount with sum as Total))

--> 工作成功!.

我的问题:

--> 当前版本的 OData Core 是否支持聚合查询语法,如我的示例“aggregate(Sales(Amount with sum as Total))”或 NOT?

请多多指教。

非常感谢

这是在 https://github.com/OData/odata.net/issues/463

跟踪的

查询

Product?$apply=groupby(Name, aggregate(Sales/Amount with sum as Total))

应该也会抛出异常,目前还不支持

一个解决方案是使用 AdaptiveLINQ component 提供的 QueryByCube 函数。 免责声明:我是 AdaptiveLINQ 开发人员