ASP.NET WebAPI OData サービスがあります。EntitySetController<,>.Get() メソッドの 1 つは、エンティティ フレームワーク クエリを返します。エンティティ フレームワーク クエリは多くの行を返すため、サーバー側のページングを使用してメモリ フットプリントを適切に保ちたいと考えています。また、この場合、$skiptoken は $skip よりもはるかに高速です。
[Queryable(PageSize = n)] 属性は、次の 2 つの理由から、私が必要としているものを正確に達成していないようです。
- 実際の SQL クエリはページングされません。.AsEnumerable().Take(n) を実行しているようです
- 「次のリンク」は $skiptoken の代わりに $skip を使用します
私がやろうとしていることを達成する方法はありますか?