【问题标题】:What's the best practice to do "stable paging" in OData?在 OData 中进行“稳定分页”的最佳实践是什么?
【发布时间】:2015-01-05 21:09:52
【问题描述】:

在这篇帖子(Problem with WCF Data Service (OData), SetEntitySetPageSize and custom operations)的评论中,提到了“OData 稳定分页”。

我对 OData 很陌生,并试图在 OData 查询中获得稳定的分页。

“稳定分页”是指有一个 OData 数据库,其中不断创建新条目,我希望分页不会因数据库中新数据的创建而中断。

例如,如果我通过$top=100获取第一页,然后通过$top=100&$skip=100获取第二页,然后通过$top=100&$skip=200获取第三页,其中页面大小为100。但是,由于数据库正在更改,我跳过的数据可能不一定与我从之前的请求中检索到的数据相同。

就像图表示例显示按条目创建时间、第一个请求和第二个请求的数据排序:

我想知道“稳定分页”的最佳方式是什么?

谢谢!

【问题讨论】:

  • 你能用“add/append”而不用“insert”吗?
  • @SamXu,该图按条目创建时间排序,因此更新的查询中总会有新的东西。抱歉,我忘记在说明中添加此信息。

标签: odata


【解决方案1】:

我当前的解决方案遵循这篇文章的建议 - Markus Winand 的“Paging Through Results”:

http://use-the-index-luke.com/sql/partial-results/fetch-next-page

它讨论了稳定分页的一般解决方案,虽然它不是 OData 特定的,但它适用于我的场景。

【讨论】:

    猜你喜欢
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    • 2013-07-12
    • 2014-09-29
    • 2021-06-11
    • 2011-06-07
    • 1970-01-01
    相关资源
    最近更新 更多