Namespace JsonApiDotNetCore.Queries.Expressions
Classes
- AnyExpression
This expression tests if an attribute value equals any of the specified constants. It represents the "any" filter function, resulting from text such as:
any(owner.name,'Jack','Joe','John').
- ComparisonExpression
This expression compares two operands using a comparison operator. It represents comparison filter functions, resulting from text such as:
equals(name,'Joe'),equals(owner,null), or:greaterOrEqual(count(upVotes),count(downVotes),'1').
- CountExpression
This expression determines the number of related resources in a to-many relationship. It represents the "count" function, resulting from text such as:
count(articles).
- FilterExpression
Represents the base type for filter functions that return a boolean value.
- FunctionExpression
Represents the base type for functions that return a value.
- HasExpression
This expression tests if a to-many relationship has related resources, optionally with a condition. It represents the "has" filter function, resulting from text such as:
has(articles), or:has(articles,equals(isHidden,'false')).
- IdentifierExpression
Represents the base type for an identifier, such as a JSON:API attribute/relationship name, a constant value between quotes, or
null.
- IncludeElementExpression
Represents an element in an IncludeExpression tree, resulting from text such as:
articles.revisions.
- IncludeExpression
Represents an inclusion tree, resulting from text such as:
owner,articles.revisions.
- IsTypeExpression
This expression tests if a resource in an inheritance hierarchy can be upcast to a derived type, optionally with a condition where the derived type is accessible. It represents the "isType" filter function, resulting from text such as:
isType(,men),isType(creator,men), or:isType(creator,men,equals(hasBeard,'true')).
- LiteralConstantExpression
Represents a non-null constant value, resulting from text such as:
'Jack','123', or:'true'.
- LogicalExpression
This expression tests whether one or all of its boolean operands are true. It represents the logical AND/OR filter functions, resulting from text such as:
and(equals(title,'Work'),has(articles)), or:or(equals(title,'Work'),has(articles)).
- MatchTextExpression
This expression allows partial matching on the value of a JSON:API attribute. It represents text-matching filter functions, resulting from text such as:
startsWith(name,'The'),endsWith(name,'end.'), or:contains(name,'middle').
- NotExpression
This expression tests for the logical negation of its operand. It represents the "not" filter function, resulting from text such as:
not(equals(title,'Work')).
- NullConstantExpression
Represents the constant
null, resulting from the text:null.
- PaginationElementQueryStringValueExpression
Represents an element in PaginationQueryStringValueExpression, resulting from text such as:
1, or:articles:2.
- PaginationExpression
Represents a pagination, produced from PaginationQueryStringValueExpression.
- PaginationQueryStringValueExpression
Represents pagination in a query string, resulting from text such as:
1,articles:2.
- QueryExpression
Represents the base data structure for immutable types that query string parameters are converted into. This intermediate structure is later transformed into System.Linq Expression trees that are handled by Entity Framework Core.
- QueryExpressionRewriter<TArgument>
Building block for rewriting QueryExpression trees. It walks through nested expressions and updates the parent on changes.
- QueryExpressionVisitor<TArgument, TResult>
Implements the visitor design pattern that enables traversing a QueryExpression tree.
- QueryStringParameterScopeExpression
Represents the relationship scope of a query string parameter, resulting from text such as:
?sort[articles], or:?filter[author.articles.comments].
- QueryableHandlerExpression
Holds an IQueryable<T> expression, used for custom query string handlers from IResourceDefinition<TResource, TId>s.
- ResourceFieldChainExpression
Represents a chain of JSON:API fields (relationships and attributes), resulting from text such as:
articles.revisions.author, or:owner.LastName.
- SortElementExpression
Represents an element in SortExpression, resulting from text such as:
lastName,-lastModifiedAt, or:count(children).
- SortExpression
Represents a sorting, resulting from text such as:
lastName,-lastModifiedAt,count(children).
- SparseFieldSetExpression
Represents a sparse fieldset, resulting from text such as:
firstName,lastName,articles.
- SparseFieldTableExpression
Represents a lookup table of sparse fieldsets per resource type.