【问题标题】:ASP.NET WebAPI OData server side pagingASP.NET WebAPI OData 服务器端分页
【发布时间】:2013-03-12 18:19:51
【问题描述】:

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

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

  • 他们实际的 SQL 查询没有分页。就好像在做.AsEnumerable().Take(n)
  • “下一个链接”使用 $skip 而不是 $skiptoken

有什么方法可以完成我想做的事情吗?

【问题讨论】:

  • WCF 数据服务似乎以默认方式工作。

标签: asp.net-web-api entity-framework-5 paging odata


【解决方案1】:

已经有一个工作项:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多