Paging.Queryable is a lightweight library for seamless, incremental server-side data loading.
$ dotnet add package Paging.Queryable.NETPaging.NET is a lightweight and flexible library designed to simplify incremental server-side data loading. It provides an easy-to-use toolkit for efficiently managing large datasets by fetching data in small, controlled chunks. Ideal for applications that require smooth paging, reduced memory usage, and responsive data access patterns, Paging.NET helps you streamline your backend communication without unnecessary complexity.
This library is available on NuGet: https://www.nuget.org/packages/Paging.NET/ Use the following command to install Paging using NuGet package manager console:
PM> Install-Package Paging.NET
You can use this library in any .NET project which is compatible to .NET Standard 2.0 and higher as well as with .NET MAUI.
| Package | Version | Downlods |
|---|---|---|
| Paging.NET |
| Paging.Queryable.NET |
| Paging.MAUI |
Paging or pagination is a process of slicing a certain (usually big and costly) collection into subsets of items in order to improve query performance. Paging is not only a matter of splitting collections into chunks, it also has to consider sorting and filtering. Paging involves the requesting client in specifying a paging request and the responding service to respond with a result set.
In Paging.NET, each paging request is specified in a PagingInfo. The resulting page is returned in a PaginationSet.
PagingInfo allows to define which page index we want to retrieve (CurrentPage), how many items each page shall contain (ItemsPerPage), how the collection is sorted before it is paged (SortBy resp. Sorting) and if we like to apply a filter (Search resp. Filter) on the target collection.PaginationSet sends the subset of Items along with some meta information, like the current page's zero-based index CurrentPage, the total number of pages TotalPages, the total number of items TotalCount (unfiltered: TotalCountUnfiltered).TODO: Document the usage of PagingInfo and PaginationSet in some concrete examples
Contributors welcome! If you find a bug or you want to propose a new feature, feel free to do so by opening a new issue on github.com.