2013-03-22 123 views
0

我有一個ASP.NET WebAPI OData服務。其中一個EntitySetController <,> .get()方法返回一個實體框架查詢。由於實體框架查詢返回很多行,我想使用服務器端分頁來保持內存佔用空間合理。另外,在這種情況下,$ skiptoken比$ skip快得多。ASP.NET WebAPI OData服務器端分頁

的[可查詢(每頁= N)]屬性似乎並沒有達到正是我需要的,原因有二:

  • 他們實際的SQL查詢不分頁。這就像它做.AsEnumerable()。以(N)
  • 的「未來鏈接」中使用了$跳過,而不是$ skiptoken

有什麼辦法來完成我想要做什麼?

+0

看來WCF Data Services的工作方式是默認的。 – Hans 2013-03-22 20:08:16

回答

1

有已經工作項目本:

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

您可以投票。同時,沒有什麼能夠阻止你不使用PageSize並自己實現分頁。 ODataQueryOptions確實會公開您要解析的$ skiptoken原始值,並且您可以返回PageResult<T>來表示基於$ skiptoken的下一頁鏈接的結果頁面。