我想根据使用Asp.net,web api2和OData v4的收集计数来订购结果。
我的网址是:url/odata/groupeclients?$expand=Client&$orderby=Client/$count
我收到此错误:
“URI中指定的查询无效.a的父值 属性'$ count'的属性访问不是单个值。属性 访问只能应用于单个值。“
Web API OData是否支持此功能?如果没有,是否有其他解决方案?
此致 Hayfa
答案 0 :(得分:0)
目前不支持;那是open issue。
作为一种解决方法,您可以定义绑定到groupeclients
的OData函数,该函数显式执行扩展和排序。类似的东西:
[HttpGet]
public IHttpActionResult OrderByClientCount()
{
return this.Ok(data.Include(e => e.Client).OrderBy(e => e.Client.Count));
}
请注意,此代码未经测试,如果您的IQueryable数据源不支持Include
(或其等效项),则可能无法执行此操作。