我使用的OData进行分页从Web API调用返回的项目一个长长的清单。 我可以通过与起点和终点指标URL过滤器中的数据。
我的问题是,我怎么知道项目的总数是多少? 因此,我可以这就要求网络API,我的移动设备上显示的3(20项)1。
我使用的OData进行分页从Web API调用返回的项目一个长长的清单。 我可以通过与起点和终点指标URL过滤器中的数据。
我的问题是,我怎么知道项目的总数是多少? 因此,我可以这就要求网络API,我的移动设备上显示的3(20项)1。
这里是一个工作版本的链接,它已经被实现为QueryableAttribute。 http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/88372a0b4ab9#src%2fMicrosoft.Web.Http.Data%2fQueryFilterAttribute.cs
编辑:使用此链接进行了详细的解释- > http://www.strathweb.com/2012/08/supporting-odata-inlinecount-with-the-new-web-api-odata-preview-package/
您可以使用$ inlinecount =所有页中查询得到的结果所有实体的计数,而顶部和跳跃。 例如:
http://services.odata.org/OData/OData.svc/Products ?$顶部= 1&跳过= 1&$ inlinecount =所有页
返回的单品也是9直列数(因为有9种产品在实体集)。
试试这个办法: http://www.strathweb.com/2012/08/supporting-odata-inlinecount-with-the-new-web-api-odata-preview-package/
它采用最新的Web API的OData包。
直到最后确定的Web API的OData包出厂(今年秋天,应在11月左右),当$ inlinecount支持开箱即用,这种解决方案可能是最好的选择。
上周我有完全相同的问题。 检查出有用的元数据扩展您的ASP.NET Web API响应
我用这篇文章和示例代码来获得寻呼网和使用的OData运行。 由于样本中详细描述我创建了一个委托处理程序来捕捉HttpResponseMessage和包括的项目数自定义元数据包起来。 自定义属性,CustomQueryableAttribute,还创建了继承默认QueryableAttribute。
它可以在这里听起来有点复杂,但实际上是实现非常简单。 我在大约30分钟的东西启动和运行。
在Web API的希望以后的版本中有更完整的OData支持。
编辑:OData的支持不会与Web API出货。 在可查询的属性正在为RTM版本中删除。 通过一个单独的NuGet包初始RELASE之后的某个时间更完整的OData将提供支持。