如何使用web api odata获取子记录的总和?
如何返回web api odata中OrderItems价格(ItemTotalPrice)的总和 web api odata似乎不支持$apply,如下所述: 我有一个web api odata查询,如:如何使用web api odata获取子记录的总和?,odata,asp.net-web-api,Odata,Asp.net Web Api,如何返回web api odata中OrderItems价格(ItemTotalPrice)的总和 web api odata似乎不支持$apply,如下所述: 我有一个web api odata查询,如: http://localhost:29446/odata/OrderItems 返回以下json: { "odata.metadata": "http://localhost:29446/odata/$metadata#OrderItems", "value": [{ "O
http://localhost:29446/odata/OrderItems
返回以下json:
{
"odata.metadata": "http://localhost:29446/odata/$metadata#OrderItems",
"value": [{
"OrderItemID": 17,
"ItemDescription": "test",
"ItemQty": 1,
"ItemUnitPrice": "1.10",
"ItemTaxGroup": 1,
"ItemTotalTax": "0.10",
"ItemTotalPrice": "1.22",
"ItemSubProgram": 1,
"ItemAccount": 1,
"ItemActualCost": "1.22",
"OrderID": 3
}, {
"OrderItemID": 18,
"ItemDescription": "test",
"ItemQty": 1,
"ItemUnitPrice": "1.10",
"ItemTaxGroup": 1,
"ItemTotalTax": "0.10",
"ItemTotalPrice": "1.10",
"ItemSubProgram": 1,
"ItemAccount": 1,
"ItemActualCost": "1.00",
"OrderID": 3
}, {
"OrderItemID": 19,
"ItemDescription": "test",
"ItemQty": 1,
"ItemUnitPrice": "1.10",
"ItemTaxGroup": 1,
"ItemTotalTax": "0.10",
"ItemTotalPrice": "1.10",
"ItemSubProgram": 1,
"ItemAccount": 1,
"ItemActualCost": "1.00",
"OrderID": 3
}, {
"OrderItemID": 20,
"ItemDescription": "test",
"ItemQty": 1,
"ItemUnitPrice": "1.10",
"ItemTaxGroup": 1,
"ItemTotalTax": "0.10",
"ItemTotalPrice": "1.10",
"ItemSubProgram": 1,
"ItemAccount": 1,
"ItemActualCost": "1.00",
"OrderID": 3
}, {
"OrderItemID": 21,
"ItemDescription": "test",
"ItemQty": 1,
"ItemUnitPrice": "1.10",
"ItemTaxGroup": 1,
"ItemTotalTax": "0.10",
"ItemTotalPrice": "1.10",
"ItemSubProgram": 1,
"ItemAccount": 1,
"ItemActualCost": "1.00",
"OrderID": 3
}]
}
我认为以下方法可能有效:
http://localhost:29446/odata/OrderItems?$apply=aggregate(ItemTotalPrice with sum as Total)
但我得到了以下错误:
The query parameter '$apply' is not supported.
我将OData v4与Web API 2.2一起使用,但OData v4的Web API 2.2中尚未实现数据聚合扩展。对于.NET OData库的Github repo上提供的ODataLib级实现有一个请求:但尚未合并到主分支中。解决方案是使用
.QueryByCube
LINQ操作符()实现WebAPI控件
免责声明:我是AdaptiveLINQ开发人员