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
<PackageReference Include="Atya.Data.Pagination" Version="1.0.0" />
<PackageVersion Include="Atya.Data.Pagination" Version="1.0.0" />
<PackageReference Include="Atya.Data.Pagination" />
paket add Atya.Data.Pagination --version 1.0.0
#r "nuget: Atya.Data.Pagination, 1.0.0"
#:package Atya.Data.Pagination@1.0.0
#addin nuget:?package=Atya.Data.Pagination&version=1.0.0
#tool nuget:?package=Atya.Data.Pagination&version=1.0.0
Atya.Data.Pagination
ORM-agnostic paging primitives and paged result shapes for .NET services.
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.
Links
| Product | Versions 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. |
-
net10.0
- Atya.Foundation.Guards (>= 1.0.2)
- Atya.Foundation.Results (>= 1.1.0)
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 |