Skip to content

v1.0.0

Choose a tag to compare

@DrSkillIssue DrSkillIssue released this 22 Feb 04:00
· 33 commits to main since this release

Features

  • Keyset pagination — replaces Skip/Take with index-friendly WHERE-based filtering for O(1) page access at any depth
  • Composite multi-column sorting — any number of columns with mixed ascending/descending directions
  • Bidirectional navigation — first page, last page, next page, previous page via Forward/Backward direction
  • Loose-typed cursors — reference objects can be anonymous types, DTOs, or any object with matching property names; no need to load the full entity
  • Nested property support — pagination columns can reference navigation properties (e.g., x => x.Details.Created)
  • Expression caching — prebuilt PaginationQueryDefinition<T> computes the expression tree once; per-call cost is placeholder substitution only
  • Boundary detection — HasPreviousAsync / HasNextAsync for checking data beyond the current page
  • Composable queries — Paginate returns IQueryable<T>, so .Where(), .Include(), .Select(), .Take() all chain naturally
  • Enum and CompareTo support — works with enums, strings, GUIDs, and other types without native comparison operators