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

时间:2014-12-29 08:52:08

标签: odata

在这篇文章的评论中(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.但是,因为数据库正在变化,我跳过的数据可能不一定是我从之前的请求中检索到的相同数据。

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

enter image description here

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

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

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