如何使用OData Core Client库使用服务器端分页?
使用下面的代码,我可以获取第一个页面大小的集合,但是我想获取其余的集合(下一页)。解析odata响应时,我可以看到nextPageLink和skipToken值(因此它是服务器端分页)。现在,我想使用OData Core Client库API使用分页。 (我无法在其文档中找到它。仅提供有关如何解析参数的信息)。
var serviceRoot = "https://...";
var dataServiceContext = new GraphService(new Uri(serviceRoot));
var theCollection = await dataServiceContext.CollectionProperty.ExecuteAsync();
var countOfFristPageCollection = theCollection.Count();
最后,我在lib的文档(here link)中发现了此错误,但出现了错误(它们使用Execute方法的同步版本,而它们的API仅提供异步-我发布了它们)。
这是使用异步的正确代码:
var serviceRoot = "https://...";
var dataServiceContext = new MyOdataService(new Uri(serviceRoot));
DataServiceQueryContinuation<user> token = null;
var resp = (await dataServiceContext.users.ExecuteAsync()) as QueryOperationResponse<user>;
List<user> list = new List<user>();
list.AddRange(resp.ToList());
while ((token = resp.GetContinuation()) != null)
{
resp = await dataServiceContext.ExecuteAsync<user>(token) as QueryOperationResponse<user>;
list.AddRange(resp.ToList());
}