Soenneker.Dtos.RequestDataOptions
4.0.198
Prefix Reserved
dotnet add package Soenneker.Dtos.RequestDataOptions --version 4.0.198
NuGet\Install-Package Soenneker.Dtos.RequestDataOptions -Version 4.0.198
<PackageReference Include="Soenneker.Dtos.RequestDataOptions" Version="4.0.198" />
<PackageVersion Include="Soenneker.Dtos.RequestDataOptions" Version="4.0.198" />
<PackageReference Include="Soenneker.Dtos.RequestDataOptions" />
paket add Soenneker.Dtos.RequestDataOptions --version 4.0.198
#r "nuget: Soenneker.Dtos.RequestDataOptions, 4.0.198"
#:package Soenneker.Dtos.RequestDataOptions@4.0.198
#addin nuget:?package=Soenneker.Dtos.RequestDataOptions&version=4.0.198
#tool nuget:?package=Soenneker.Dtos.RequestDataOptions&version=4.0.198
Soenneker.Dtos.RequestDataOptions
A shared request DTO for cursor pagination, multi-field sorting, free-text search, exact-match filters, and range filters. It defines the wire shape; the receiving API decides which fields and limits are valid.
Install
dotnet add package Soenneker.Dtos.RequestDataOptions
Build a query request
using Soenneker.Dtos.Filters.ExactMatch;
using Soenneker.Dtos.Filters.Range;
using Soenneker.Dtos.Options.OrderBy;
using Soenneker.Dtos.RequestDataOptions;
using Soenneker.Enums.SortDirections;
var options = new RequestDataOptions
{
PageSize = 50,
IncludeCount = true,
Search = "paid",
SearchFields = ["description", "reference"],
OrderBy =
[
new OrderByOption { Field = "createdAt", Direction = SortDirection.Desc },
new OrderByOption { Field = "id", Direction = SortDirection.Asc }
],
Filters =
[
new ExactMatchFilter { Field = "status", Value = "active" }
],
RangeFilters =
[
new RangeFilter { Field = "total", GreaterThanOrEqual = 25m, LessThan = 500m }
]
};
OrderBy entries are sent in list order, allowing the server to treat the first as the primary sort. Range filters expose exclusive (GreaterThan, LessThan) and inclusive (GreaterThanOrEqual, LessThanOrEqual) bounds.
For the next page, copy the continuation token returned by the API without parsing or changing it:
options.ContinuationToken = continuationTokenFromResponse;
Server-side responsibilities
This type does not enforce a positive or maximum PageSize, interpret filters, escape search syntax, or verify field names. A server consuming it should allow-list sortable, searchable, and filterable fields; parameterize values; cap page size; and reject unsupported combinations. IncludeCount may make a query materially more expensive, so the server remains free to ignore or restrict it.
Nullable members are serialized or omitted according to the configured System.Text.Json or Newtonsoft.Json options.
| 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
- Soenneker.Dtos.Filters.ExactMatch (>= 4.0.54)
- Soenneker.Dtos.Filters.Range (>= 4.0.54)
- Soenneker.Dtos.Options.OrderBy (>= 4.0.69)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on Soenneker.Dtos.RequestDataOptions:
| Package | Downloads |
|---|---|
|
Soenneker.Managers.Entities
An abstract generic manager class provides CRUD operations for entities mapped to Cosmos DB documents |
|
|
Soenneker.Blazor.Consumers.Base
A wrapper around Soenneker.Blazor.ApiClient supporting auto (de)serialization for requests/responses/ProblemDetails. |
|
|
Soenneker.Coordinators.Entities
A strongly-typed, generic coordinator base class that defines virtual CRUD operations for a specific request and response type. |
|
|
Soenneker.DataTables.Extensions.ServerSideRequest
A collection of helpful DataTableServerSideRequest extension methods |
|
|
Soenneker.Extensions.IQueryables
A collection of helpful IQueryable extension methods |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.198 | 28 | 8/31/2026 |
| 4.0.197 | 76 | 8/30/2026 |
| 4.0.196 | 74 | 8/30/2026 |
| 4.0.194 | 133 | 8/30/2026 |
| 4.0.193 | 50 | 8/30/2026 |
| 4.0.192 | 85 | 8/30/2026 |
| 4.0.191 | 34 | 8/30/2026 |
| 4.0.190 | 67 | 8/30/2026 |
| 4.0.189 | 46 | 8/30/2026 |
| 4.0.188 | 72 | 8/29/2026 |
| 4.0.187 | 71 | 8/29/2026 |
| 4.0.186 | 1,386 | 8/21/2026 |
| 4.0.185 | 698 | 8/18/2026 |
| 4.0.184 | 258 | 8/18/2026 |
| 4.0.183 | 261 | 8/18/2026 |
| 4.0.181 | 105 | 8/18/2026 |
| 4.0.180 | 1,611 | 8/7/2026 |
| 4.0.179 | 960 | 7/29/2026 |
| 4.0.178 | 143 | 7/29/2026 |
| 4.0.177 | 114 | 7/28/2026 |
Update dependency Soenneker.Dtos.Options.OrderBy to 4.0.69 (#576)