Argon.Extensions.Pagination 8.4.0

Argon.Extensions.Pagination

Pagination extensions for collections and LINQ queries.

📦 Installation

dotnet add package Argon.Extensions.Pagination

✨ Features

  • Page<T> and PageQuery classes to handle pagination
  • Paginate() extension for IQueryable<T>
  • Automatic validation of pagination parameters
  • Automatic calculation of total pages

🚀 Usage

Simple pagination

using Argon.Extensions.Pagination;

var query = dbContext.Users.Where(u => u.IsActive);

// Pagination with index and limit
var page = query.Paginate(index: 0, limit: 10);

Console.WriteLine($"Page {page.Index + 1}/{page.TotalPages}");
Console.WriteLine($"Total items: {page.TotalItems}");

foreach (var user in page.Items)
{
    Console.WriteLine(user.Name);
}

Using PageQuery

var pageQuery = new PageQuery 
{ 
    Index = 0, 
    Limit = 10 
};

var page = query.Paginate(pageQuery);

Example with API Controller

[ApiController]
[Route("api/[controller]")]
public class UsersController : ControllerBase
{
    private readonly AppDbContext _context;

    public UsersController(AppDbContext context)
    {
        _context = context;
    }

    [HttpGet]
    public ActionResult<Page<User>> GetUsers([FromQuery] PageQuery pageQuery)
    {
        var users = _context.Users
            .Where(u => u.IsActive)
            .Paginate(pageQuery);

        return Ok(users);
    }
}

📝 API Reference

Page<T>

Represents a page of results.

Properties:

  • Index : Page index (0-based)
  • Size : Number of items per page
  • TotalPages : Total number of pages
  • TotalItems : Total number of items
  • Items : Collection of items in the page

Static methods:

  • Empty<T>() : Creates an empty page

PageQuery

Pagination parameters.

Properties:

  • Index : Page index (≥ 0)
  • Limit : Number of items per page (≥ 1)

QueryableExtension Extensions

Methods:

  • Paginate<T>(this IQueryable<T> queryable, int index, int limit) : Paginates a query
  • Paginate<T>(this IQueryable<T> queryable, PageQuery query) : Paginates a query with a PageQuery object

Exceptions:

  • ArgumentOutOfRangeException : If Index < 0 or Limit < 1

Showing the top 20 packages that depend on Argon.Extensions.Pagination.

Packages Downloads
Argon.Extensions.Pagination.EntityFrameworkCore
Entity Framework Core pagination extensions designed for Argon services
91
Argon.Extensions.Pagination.EntityFrameworkCore
Entity Framework Core pagination extensions designed for Argon services
7
Argon.Extensions.Pagination.EntityFrameworkCore
Entity Framework Core pagination extensions designed for Argon services
2

.NET 8.0

  • No dependencies.

Version Downloads Last updated
8.5.0 8 11/30/2025
8.4.0 2 11/17/2025
8.3.0 93 07/17/2025