An alternative is to implement your service using the QueryByCubelinq extension method provided by the AdaptiveLINQ component .
For instance:
[EnableQuery]
public IQueryable<SalesCubeItem> Get()
{
return DataContext.OrderDetails.QueryByCube(new SalesCubeDefinition());
}
where to SalesCubeDefinitiondetermine:
- 2 measurements:
ProductNameandCustomerName - 2 measures:
Sales,Quantity
You can request sales per customer using the OData protocol as follows:
http://.../salesAnalysis?$select=CustomerName,Sales
, :
http://.../salesAnalysis?$select=ProductName,Quantity
, , OData ($ filter, $orderby...)
: AdaptiveLINQ