Class OrderClauseBuilder
- Namespace
- JsonApiDotNetCore.Queries.QueryableBuilding
- Assembly
- JsonApiDotNetCore.dll
Transforms SortExpression into OrderBy<TSource, TKey>(IQueryable<TSource>, Expression<Func<TSource, TKey>>) calls.
[PublicAPI]
public class OrderClauseBuilder : QueryClauseBuilder, IOrderClauseBuilder
- Inheritance
-
OrderClauseBuilder
- Implements
- Inherited Members
Remarks
Types that implement this interface are stateless by design. Existing instances are reused recursively (perhaps this one not today, but that may change), so don't store mutable state in private fields when implementing this interface or deriving from the built-in implementations. To pass custom state, use the State property. The only private field allowed is a stack where you push/pop state, so it works recursively.
Methods
ApplyOrderBy(SortExpression, QueryClauseBuilderContext)
public virtual Expression ApplyOrderBy(SortExpression expression, QueryClauseBuilderContext context)
Parameters
expression
SortExpressioncontext
QueryClauseBuilderContext
Returns
VisitSort(SortExpression, QueryClauseBuilderContext)
public override Expression VisitSort(SortExpression expression, QueryClauseBuilderContext context)
Parameters
expression
SortExpressioncontext
QueryClauseBuilderContext
Returns
VisitSortElement(SortElementExpression, QueryClauseBuilderContext)
public override Expression VisitSortElement(SortElementExpression expression, QueryClauseBuilderContext context)
Parameters
expression
SortElementExpressioncontext
QueryClauseBuilderContext