2014-09-24 163 views
4

Asp.net Web API 2.2 OData4支持聚合和groupby子句嗎? 我找不到任何確鑿的答案。Asp.net Web API 2.2 OData4支持group by子句嗎?

+0

A simp答案應該是否定的。但是,你能否提供更詳細的要求,以便可能有一些替代方案。 – QianLi 2014-09-25 06:46:43

+0

爲了說清楚,OData V4的http:/docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggregation-ext-v4.0.pdf規範進行彙總,將來會得到支持。 – QianLi 2014-09-25 08:28:29

+0

Thanks @QianLi:我的要求很簡單,就是能夠執行聚合函數(sum,min等)並對它們強加group by子句。我只是想從web api中獲得一些開箱即用的東西。 – 2014-09-25 10:26:18

回答

2

另一種方法是使用AdaptiveLINQ組件提供的QueryByCube linq擴展方法實現您的服務。

例如:

[EnableQuery] 
public IQueryable<SalesCubeItem> Get() 
{ 
    return DataContext.OrderDetails.QueryByCube(new SalesCubeDefinition()); 
} 

其中SalesCubeDefinition定義:

  • 2尺寸:ProductNameCustomerName
  • 2措施:SalesQuantity

你CA

http://.../salesAnalysis?$select=ProductName,Quantity 

,當然你可以用其他的OData運營商結合本($:

http://.../salesAnalysis?$select=CustomerName,Sales 

量由產品出售:使用OData協議喜歡這款N查詢每個客戶的銷售過濾器,$ orderby ...)

聲明:我是AdaptiveLINQ開發人員

+0

Thankyou,對我來說這是整個實體框架的一個明顯的漏洞,我開始切換到Azure搜索API解決方案以獲得這方面的信息,但這符合我目前API的大部分要求。但是,作爲一個授權解決方案,這對我的團隊來說很難賣 – 2016-06-07 03:51:32