我使用OData的V4與這些的NuGet的程序包的WebAPI:
Microsoft.AspNet.WebApi.OData 4.0.30506
我不能讓groupby
與計數工作。這應該是最簡單的事情。
我有一個簡單的表/實體Delivery
。它有一個狀態欄(和其他幾個)。我基本上想要做的就是這樣的SQL查詢,但OData的:
SELECT e.status, count(*) AS total
FROM Delivery e
GROUP BY e.status
我使用countdistinct
試過,但它並沒有給我正確的結果。
/odata/deliveries?$apply=groupby((status),aggregate(status with countdistinct as total))
它返回:
"value": [
{
"@odata.id": null,
"total": 1,
"status": 1
},
{
"@odata.id": null,
"status": 2,
"total": 1
},
{
"@odata.id": null,
"status": 4,
"total": 1
}
]
正確的結果應該是(這是我的SQL查詢返回):
status total
1 2
2 22
4 1
我也看到了有關虛擬財產$count
,但它似乎是微軟的doesn't support it yet。
如何使用group by
以及簡單的count
與OData v4?
它看起來像這樣可能不支持尚未:HTTPS ://github.com/OData/WebApi/issues/773 – TomDoesCode
@TomDoesCode,是的。我的問題中有同樣的鏈接,但我希望可以通過其他方式完成。 – smoksnes
哦,是的,我現在看到它,對不起! (我指責我的狡猾的屏幕顏色沒有發現鏈接) – TomDoesCode