API Reference
A curated reference of the public developer-facing surface. Internal types are omitted; only APIs necessary or useful for building on FlexQuery.NET are listed.
FlexQuery.NET (core)
Entry points
| Member | Description |
|---|---|
FlexQueryCore.Configure(Action<FlexQueryOptions>?) | Global options; immutable after first call. |
Query.Create() | Fluent FluentQueryBuilder (implicit -> QueryOptions). |
FlexQueryMapping.Configure(Action<IQueryMappingRegistry>) | Global type-map registry. |
Request models (FlexQuery.NET.Models)
| Type | Purpose | Details |
|---|---|---|
FlexQueryParameters | Query-string binding model for GET endpoints. | See Query Options for the full property list. |
FlexQueryRequest | Strongly-typed request object for POST bodies and typed clients. | See FlexQueryRequest. |
QueryOptions | Parsed options consumed by the pipeline. | See Query Options. |
QueryResult<T> | Result envelope returned by every execution method. | See Query Result. |
Sync pipeline (FlexQuery.NET extensions)
| Method | Description |
|---|---|
Apply<T>(query, options) | Applies the full pipeline. |
ApplyFilter<T> / ApplySort<T> / ApplyPaging<T> / ApplySelect<T> | Individual stages. |
FlexQuery<T>(query, parameters / options, configure?) | Synchronous end-to-end execution. |
Request conversion
| Method | Description |
|---|---|
FlexQueryParametersExtensions.ToQueryOptions() / .ToQueryOptions(QuerySyntax?) | Convert bound parameters. |
FlexQueryRequestExtensions.ToQueryOptions() | Convert a typed request. |
Result helpers (QueryResultExtensions)
| Method | Description |
|---|---|
ToProjectedQueryResult<TSource, TProjected>(...) | Re-projects a result into another element type. |
ToObjectResult(Async)<T> | Erases T to object for polymorphic endpoints. |
ToDynamicResult(Async)<T> | Erases T to dynamic. |
Validation helpers
| Method | Description |
|---|---|
ValidationExtensions.Validate(options, entityType[, execOptions]) | Runs the rule pipeline, returns ValidationResult. |
ValidationExtensions.ValidateOrThrow(...) | Runs the pipeline, throws QueryValidationException. |
options.ValidateSafe<T>(...) | Non-throwing validation for staged rollouts. |
Fluent builders (FlexQuery.NET.Builders.Fluent)
| Type | Key members |
|---|---|
FluentQueryBuilder | Filter, Sort, Select, Include, Mode, GroupBy, Aggregate, Having, Distinct, Page, UseKeysetPagination, DisablePaging, Build |
FilterGroupBuilder | Equal, NotEqual, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual, Contains, StartsWith, EndsWith, In, NotIn, IsNull, IsNotNull, Between, And, Or |
FilterBuilder / FilterConditionBuilder<TParent> | Field, And, Or, Eq, Neq, Contains, StartsWith, EndsWith, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual, In, Between, IsNull, NotNull, Any, All, Not, AndGroup, OrGroup |
SortBuilder | Ascending, Descending |
AggregateBuilder | Sum, Count, Avg, Min, Max |
IncludeBuilder | Path |
Keyset (FlexQuery.NET)
| Method | Description |
|---|---|
SeekAfter<T, TKey>(query, cursor) | Keyset predicate on an ordered queryable. |
Exceptions (FlexQuery.NET.Exceptions)
FlexQueryException (base), QueryParseException, FlexQueryParseException,
DslParseException, FqlParseException, MiniODataParseException,
QueryValidationException, ParserNotRegisteredException.
FlexQuery.NET.EntityFrameworkCore
| Member | Description |
|---|---|
FlexQueryEFCore.Setup() | Registers EF Core operator handlers. |
FlexQueryEFCore.Configure(Action<FlexQueryEfCoreOptions>?) | Provider options (UseNoTracking). |
FlexQueryAsync<T>(query, parameters, configure?, ct) | Execute (dynamic results). |
FlexQueryAsync<T>(query, QueryOptions, configure?, ct) | Execute pre-parsed options. |
FlexQueryAsync<TEntity, TResponse>(query, ...) | Typed DTO execution (4 overloads). |
ApplyIncludes<T>(query, options) | Include pipeline: plain inclusions plus relationship query blocks. |
ToSqlPreview(query) / ExplainProjection(query, options) | SQL and projection inspection. |
UseEfCoreOperators(options) | Registers the like handler on a hand-built options object. |
FlexQuery.NET.Dapper
| Member | Description |
|---|---|
FlexQueryDapper.Configure(Action<FlexQueryDapperOptions>?) | Global Dapper config (Model, CommandTimeout). |
FlexQueryAsync<T>(connection, parameters, configure?, ct) | Execute (dynamic results). |
FlexQueryAsync<T>(connection, IDictionary<string, StringValues>, configure?, ct) | Execute from raw query-string values. |
FlexQueryAsync<T>(connection, QueryOptions, configure?, ct) | Execute pre-parsed options. |
FlexQueryAsync<TEntity, TResponse>(connection, ...) | Typed DTO execution (4 overloads). |
ModelBuilder.Entity<T>() / ApplyConfiguration<T>() / ApplyConfigurationsFromAssembly() | Model mapping. |
EntityTypeBuilder<T>.ToTable / HasKey / Property / Ignore / HasMany... | Per-entity mapping. |
FlexQuery.NET.AspNetCore
| Member | Description |
|---|---|
AddFlexQuerySecurity(this IMvcBuilder) | Registers FieldAccessFilter + result-shape JSON converter. |
AddFlexQueryJson(this IMvcBuilder) | Result-shape JSON converter only. |
AddFlexQuery(services, configure?) | Combined global config registration. |
[FieldAccess] | Per-endpoint governance attribute (11 properties incl. AllowedIncludes). |
GetFlexQueryExecutionOptions(HttpContext) | Reads resolved execution options. |
FlexQuery.NET.OpenApi
| Member | Description |
|---|---|
AddFlexQueryOpenApi(services) | Registers schema/operation transformers. |
AddFlexQuery(this OpenApiOptions) | Attaches transformers to the OpenAPI document pipeline. |
FlexQuery.NET.Diagnostics
| Member | Description |
|---|---|
IFlexQueryExecutionListener | Four ValueTask hooks: QueryParsedAsync, QueryTranslatedAsync, QueryExecutedAsync, QueryMaterializedAsync. |
ConsoleExecutionListener | Console output listener. |
FlexQueryDiagnosticsCollector | In-memory collector; BuildReport(provider, translator), Clear(). |
Adapters
AgGrid (FlexQuery.NET.Adapters.AgGrid)
AgGridRequest.ToQueryOptions(), JsonElement.ToQueryOptions(),
ApplyAgGridRequest(options), ToAgGridServerSideResponse(...).
Kendo (FlexQuery.NET.Adapters.Kendo)
KendoRequest.ToQueryOptions(), JsonElement.ToQueryOptions(),
ApplyKendoRequest(options).
Parsers
| Member | Description |
|---|---|
Fql.Register() | Registers the FQL parser (FlexQuery.NET.Parsers.Fql). |
MiniOData.Register() | Registers the MiniOData parser (FlexQuery.NET.Parsers.MiniOData). |
QuerySyntax | NativeDsl / Fql / MiniOData. |
MiniODataRequest | Typed MiniOData request (Filter, OrderBy, Select, Expand, Top, Skip, Count) with ToQueryOptions(). |
Governance & security
| Member | Description |
|---|---|
QueryGovernanceOptions | All governance sets (see Security). |
BaseQueryOptions | Mapping (MapField, CreateMap), paging defaults, QuerySyntax, DisablePaging, Listener. |
FlexQueryOptions | Global defaults: MaxPageSize (1000), DefaultPageSize (20), IncludeTotalCount, StrictFieldValidation, MaxFieldDepth (5), DefaultQuerySyntax (NativeDsl), CreateMap. |
FilterOperators | Canonical operator constants and normalization. |