Atya.Data.Pagination 1.0.0

Prefix Reserved
dotnet add package Atya.Data.Pagination --version 1.0.0
                    
NuGet\Install-Package Atya.Data.Pagination -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Atya.Data.Pagination" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Atya.Data.Pagination" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Atya.Data.Pagination" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Atya.Data.Pagination --version 1.0.0
                    
#r "nuget: Atya.Data.Pagination, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Atya.Data.Pagination@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Atya.Data.Pagination&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Atya.Data.Pagination&version=1.0.0
                    
Install as a Cake Tool

Atya.Data.Pagination

ORM-agnostic paging primitives and paged result shapes for .NET services.

NuGet Version Downloads .NET 10.0 License: MIT

Overview

Atya.Data.Pagination provides a small, provider-neutral paging model for APIs, workers, and application services. It validates page number and page size as recoverable input failures, represents one page of results with total-count metadata, and avoids any dependency on Entity Framework, LINQ providers, repositories, or query abstractions.

Installation

dotnet add package Atya.Data.Pagination
Install-Package Atya.Data.Pagination
<PackageReference Include="Atya.Data.Pagination" Version="<latest-stable>" />

Quick Start

using Atya.Data.Pagination;

var request = PageRequest.Create(pageNumber: 2, pageSize: 3);

if (request.IsFailure)
{
    Console.WriteLine(request.Error.Code);
    return;
}

var page = PagedResult.Create(
    new[] { "delta", "echo", "foxtrot" },
    request.Value!,
    totalCount: 8);

Console.WriteLine($"Page {page.Value!.PageNumber} of {page.Value.TotalPages}");
Console.WriteLine($"Has next page: {page.Value.HasNextPage}");

Feature Tour

PageRequest

PageRequest.Create validates one-based page number and positive page size values and returns Result<PageRequest> from Atya.Foundation.Results. Successful requests expose PageNumber, PageSize, Offset, and LongOffset.

PagedResult

PagedResult.Create combines current-page items with a validated request and the total count. The returned PagedResult<T> exposes TotalPages, HasPreviousPage, and HasNextPage without depending on any query provider.

Error Codes

Code When it is returned
atya.data.pagination.page_number_must_be_positive pageNumber is zero or negative.
atya.data.pagination.page_size_must_be_positive pageSize is zero or negative.
atya.data.pagination.offset_must_fit_int32 (pageNumber - 1) * pageSize exceeds int.MaxValue.
atya.data.pagination.total_count_must_not_be_negative totalCount is negative.
atya.data.pagination.item_count_must_not_exceed_page_size The supplied page item count is greater than PageSize.

Why These Dependencies

Atya.Foundation.Guards handles programmer errors such as null items and null validated requests. Atya.Foundation.Results supplies the fleet-canonical Result<T>, Error, and ErrorKind primitives used by Mediator, Http, and Idempotency packages.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 113 7/15/2026