FlexQuery.NET
3.1.1
See the version list below for details.
dotnet add package FlexQuery.NET --version 3.1.1
NuGet\Install-Package FlexQuery.NET -Version 3.1.1
<PackageReference Include="FlexQuery.NET" Version="3.1.1" />
<PackageVersion Include="FlexQuery.NET" Version="3.1.1" />
<PackageReference Include="FlexQuery.NET" />
paket add FlexQuery.NET --version 3.1.1
#r "nuget: FlexQuery.NET, 3.1.1"
#:package FlexQuery.NET@3.1.1
#addin nuget:?package=FlexQuery.NET&version=3.1.1
#tool nuget:?package=FlexQuery.NET&version=3.1.1
FlexQuery.NET
Dynamic filtering, sorting, paging, and projection for IQueryable in .NET.
FlexQuery.NET is the core package. It provides the query parsing engine, expression builders, validation pipeline, and all core models.
When to Use This Package
Install this package if you want to parse, validate, and compose dynamic queries independently of any specific data provider. Use this package directly when building custom integrations or when implementing your own query execution pipeline.
Installation
dotnet add package FlexQuery.NET
Quick Start
using FlexQuery.NET;
var parameters = new FlexQueryParameters
{
Filter = "status:eq:active",
Sort = "createdAt:desc",
Page = 1,
PageSize = 20
};
var options = parameters.ToQueryOptions();
var query = _context.Users.Apply(options);
// Execute using your preferred provider
Features
- Query Parsing — Auto-detects DSL, JSON, and Indexed query formats via
QueryOptionsParser.Parse() - Filtering — 20+ operators (eq, contains, gt, between, in, etc.), nested AND/OR logic
- Sorting — Multi-field sorting with direction and aggregate sort support
- Paging — 1-based page indexing with configurable page size limits
- Security — Declare allowed/blocked fields per-endpoint via
BaseQueryOptions - Validation — Built-in field path, operator, and type validation with
ValidateOrThrow<T>() - Diagnostics — Optional
IFlexQueryExecutionListenerfor observability - Query Parsing Cache — Thread-safe parser cache for low-latency repeated queries
Supported Query Formats
All formats are auto-detected — no configuration needed.
DSL
GET /api/users?filter=age:gte:18&sort=name:asc
JSON
GET /api/users?filter={"logic":"and","filters":[{"field":"age","operator":"gte","value":18}]}
Indexed
GET /api/users?filter[0].field=age&filter[0].operator=gte&filter[0].value=18
Related Packages
- FlexQuery.NET.EntityFrameworkCore — Async execution for EF Core
- FlexQuery.NET.Dapper — SQL generation for Dapper
- FlexQuery.NET.AspNetCore — ASP.NET Core
[FieldAccess]security - FlexQuery.NET.Diagnostics — Execution diagnostics
- FlexQuery.NET.Adapters.AgGrid — AG Grid SSRM adapter
- FlexQuery.NET.Adapters.Kendo — Kendo UI adapter
- FlexQuery.NET.Parsers.Jql — JQL parser
- FlexQuery.NET.Parsers.MiniOData — OData-compatible parser
Full Documentation:
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- Microsoft.Extensions.Primitives (>= 10.0.0)
-
net6.0
- Microsoft.Extensions.Primitives (>= 6.0.0)
-
net8.0
- Microsoft.Extensions.Primitives (>= 8.0.0)
NuGet packages (11)
Showing the top 5 NuGet packages that depend on FlexQuery.NET:
| Package | Downloads |
|---|---|
|
FlexQuery.NET.AspNetCore
ASP.NET Core integration for FlexQuery.NET — declarative field-access security via [FieldAccess] attributes and action filters |
|
|
FlexQuery.NET.EFCore
EF Core integration for FlexQuery.NET — async execution, filtered includes, projection, and pagination helpers |
|
|
FlexQuery.NET.EntityFrameworkCore
EF Core integration for FlexQuery.NET — async execution, filtered includes, projection, and pagination helpers |
|
|
FlexQuery.NET.Dapper
Dapper integration for FlexQuery.NET — async execution, filtered includes, projection, and pagination helpers |
|
|
FlexQuery.NET.Parsers.MiniOData
Lightweight OData-compatible query syntax parser for FlexQuery.NET — translates $filter, $orderby, $select, $top, $skip, and $expand into the unified FlexQuery AST. Optional parser package in the FlexQuery.NET.Parsers.* ecosystem. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.0-preview.3 | 72 | 7/18/2026 |
| 4.0.0-preview.2 | 82 | 7/14/2026 |
| 4.0.0-preview.1 | 85 | 7/12/2026 |
| 3.1.1 | 298 | 7/4/2026 |
| 3.1.0 | 325 | 6/26/2026 |
| 3.0.6 | 293 | 6/24/2026 |
| 3.0.5 | 304 | 6/24/2026 |
| 3.0.4 | 289 | 6/23/2026 |
| 3.0.3 | 283 | 6/23/2026 |
| 3.0.2 | 299 | 6/22/2026 |
| 3.0.1 | 290 | 6/22/2026 |
| 2.5.0 | 361 | 5/13/2026 |
| 2.4.0 | 156 | 5/10/2026 |
| 2.3.1 | 172 | 5/8/2026 |
| 2.3.0 | 161 | 5/7/2026 |
| 2.2.0 | 159 | 5/6/2026 |
| 2.1.0 | 149 | 5/6/2026 |
| 2.0.1 | 155 | 5/6/2026 |
| 1.7.2 | 160 | 5/4/2026 |
- fix: implement stability fixes for pipeline ordering, validation, Dapper case-insensitive and filtered includes
- fix: auto-generate ORDER BY for paging without sort, add tests and docs
- fix: resolve code analysis warnings and add XML documentation
- perf: cache IsScalarType results and IncludeBuilder MethodInfo lookups
- refactor: remove old projection engine and simplify caching
- remove yml
- Add Azure deployment workflow
- Add or update the Azure App Service build and deployment workflow config