Table of Contents

Namespace JsonApiDotNetCore.Queries

Classes

ExpressionInScope

Represents an expression coming from query string. The scope determines at which depth in the IResourceGraph to apply its expression.

FieldSelection

Provides access to sparse fieldsets, per resource type. There's usually just a single resource type, but there can be multiple in case an endpoint for an abstract resource type returns derived types.

FieldSelectors

A data structure that contains which fields (attributes and relationships) to retrieve, or empty to retrieve all. In the case of a relationship, it contains the nested query constraints.

QueryLayer

A nested data structure that contains QueryExpression constraints per resource type.

QueryLayerComposer

Takes scoped expressions from IQueryConstraintProviders and transforms them.

SparseFieldSetCache

Takes sparse fieldsets from IQueryConstraintProviders and invokes OnApplySparseFieldSet(SparseFieldSetExpression?) on them.

Interfaces

IEvaluatedIncludeCache

Provides in-memory storage for the evaluated inclusion tree within a request. This tree is produced from query string and resource definition callbacks. The cache enables the serialization layer to take changes from OnApplyIncludes(IImmutableSet<IncludeElementExpression>) into account.

IPaginationContext

Tracks values used for top-level pagination, which is a combined effort from options, query string parsing, resource definition callbacks and fetching the total number of rows.

IQueryConstraintProvider

Provides constraints (such as filters, sorting, pagination, sparse fieldsets and inclusions) to be applied on a data set.

IQueryLayerComposer

Takes scoped expressions from IQueryConstraintProviders and transforms them.

ISparseFieldSetCache

Takes sparse fieldsets from IQueryConstraintProviders and invokes OnApplySparseFieldSet(SparseFieldSetExpression?) on them.

Enums

TopFieldSelection

Indicates how to override sparse fieldset selection coming from constraints.