c# - 如何在 .net C# 应用程序中使用 Reporting API 响应中返回的 @odata.nextlink 参数
问题描述
我正在从 odata 服务中检索数据。响应包含一个用于加载更多数据的链接,即 odata.nextLink,我需要检索它以加载更多数据(odata.nextLink)。如何使用 C# 代码执行此操作?服务器的响应是这样的:
{
"odata.metadata":"http://localhost:60497/odata/$metadata#tables","value":[
{"id":001,"name":"abc" }
.
.
],
"odata.nextLink":"http://localhost:60497/odata/tables?$skip=10"
}
解决方案
odata.nextLink 元素的存在用于指示有更多可用结果。如果您只是想获取所有结果,那么您将继续从每个连续的 nextLink URI 中获取其他结果,直到您收到不包含 nextLink 元素的响应。
在最简单的情况下,您可以简单地使用 while 循环,但是在大多数情况下,如果查询返回大量结果,您可能希望检索一些结果,然后为用户提供请求更多行的方法。
在 C# 中,您可能正在使用 Microsoft 的OData 客户端库,它允许您对 OData 服务执行 LINQ 查询。
Microsoft 的文档在https://docs.microsoft.com/en-gb/odata/client/pagination有一个全面的示例
推荐阅读
- javascript - 使用 Array 参数创建 mongoose 查询
- web - 将 libreoffice 作为服务运行
- javascript - 解构时将默认属性设置为变量
- dialogflow-es-fulfillment - Dialogflow 中的多个建议筹码选择
- powerbi - 如果 dCalendar 使用度量
- wordpress - 单击提交按钮时未提交联系表格
- javascript - React 最终形式禁用没有 redux 的字段
- excel - 根据选择的超链接更新单元格值
- java - 如何从 build.xml 运行 mvn clean install
- java - 自定义 PDFTextStripper PDFbox