Namespace JsonApiDotNetCore.Queries.Expressions
Classes
- AnyExpression
This expression allows to test 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 allows to compare 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 allows to determine 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 allows to test 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 allows to test 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 allows to test 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 allows to test 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.