首页 文章

ASP.NET WebAPI OData服务器端分页

提问于
浏览
0

我有一个ASP.NET WebAPI OData服务 . 其中一个EntitySetController <,> . Get()方法返回一个实体框架查询 . 由于实体框架查询返回了大量行,我想使用服务器端分页来保持内存占用空间合理 . 此外,在这种情况下,$ skiptoken比$ skip快得多 .

[Queryable(PageSize = n)]属性似乎没有完全满足我的需要,原因有两个:

  • 他们实际的SQL查询不像它正在做的那样.AsEnumerable() . Take(n)

  • "next link"使用$ skip而不是$ skiptoken

有没有办法完成我想要做的事情?

1 回答

  • 1

    已有一个工作项:

    http://aspnetwebstack.codeplex.com/workitem/500

    你可以投票 . 与此同时,没有什么可以阻止你不使用PageSize,并自己实现分页 . ODataQueryOptions 确实公开$ skiptoken原始值供您解析,并且您可以返回 PageResult<T> 来表示结果页面,其中包含基于$ skiptoken的下一页链接 .

相关问题