在 OData 中进行“稳定分页”的最佳实践是什么?

2023-12-27

在这篇文章的评论中(WCF 数据服务 (OData)、SetEntitySetPageSize 和自定义操作的问题 https://stackoverflow.com/questions/5708850/problem-with-wcf-data-service-odata-setentitysetpagesize-and-custom-operation),其中提到了“OData稳定分页”。

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

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

例如,如果我通过以下方式获取第一页$top=100,然后获取第二页$top=100&$skip=100,然后第三页$top=100&$skip=200,其中页面大小为100。但是,由于数据库在变化,所以我跳过的数据不一定是我从之前请求中检索到的数据。

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

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

Thanks!


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

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

它讨论了稳定分页的通用解决方案,尽管它不是 OData 特定的,但它适用于我的场景。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 OData 中进行“稳定分页”的最佳实践是什么? 的相关文章

随机推荐