使用WebApi进行OData分页($ inlinecount)
我正在使用OData分页从web api调用返回的一长串项目。 我可以通过url使用开始和结束索引过滤数据。
我的问题是,我怎么知道物品的总数? 所以我可以在我的移动设备上显示第1页(共3项)(20项),该设备调用web api。
这是一个工作版本的链接,它已被实现为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 = allpages来获取结果中所有实体的计数,而不使用top和skip。 例如:
http://services.odata.org/OData/OData.svc/Products?$ top = 1&skip = 1&$ inlinecount = allpages
返回单个产品,但内联计数为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,它inheritance了默认的QueryableAttribute。
这听起来有点复杂但实际上很容易实现。 我在大约30分钟内完成了一些任务。
希望Web API的未来版本具有更完整的OData支持。
编辑:Odata支持不会随Web API一起提供。 正在删除RTM版本的可查询属性。 通过单独的Nuget软件包,在初始密切后的某个时间,将提供更完整的OData支持。
上述就是C#学习教程:使用WebApi进行OData分页($ inlinecount)分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。
如若转载,请注明出处:https://www.ctvol.com/cdevelopment/990559.html