Table of Contents

Namespace JsonApiDotNetCore.Queries.QueryableBuilding

Classes

IncludeClauseBuilder

Transforms IncludeExpression into Include<TEntity, TProperty>(IQueryable<TEntity>, Expression<Func<TEntity, TProperty>>) calls.

LambdaScope

A scoped lambda expression with a unique name. Disposing the instance releases the claimed name, so it can be reused.

LambdaScopeFactory

Produces lambda parameters with unique names.

OrderClauseBuilder

Transforms SortExpression into OrderBy<TSource, TKey>(IQueryable<TSource>, Expression<Func<TSource, TKey>>) calls.

QueryClauseBuilder

Base class for transforming QueryExpression trees into system Expression trees.

QueryClauseBuilderContext

Immutable contextual state for *ClauseBuilder types.

QueryLayerIncludeConverter

Replaces all Includes with Selections in-place.

QueryableBuilder

Drives conversion from QueryLayer into system Expression trees.

QueryableBuilderContext

Immutable contextual state for IQueryableBuilder.

SelectClauseBuilder

Transforms SparseFieldSetExpression into Select<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) calls.

SkipTakeClauseBuilder

Transforms PaginationExpression into Skip<TSource>(IQueryable<TSource>, int) and Take<TSource>(IQueryable<TSource>, int) calls.

WhereClauseBuilder

Transforms FilterExpression into Where<TSource>(IQueryable<TSource>, Expression<Func<TSource, bool>>) calls.

Interfaces

IIncludeClauseBuilder

Transforms IncludeExpression into Include<TEntity, TProperty>(IQueryable<TEntity>, Expression<Func<TEntity, TProperty>>) calls.

IOrderClauseBuilder

Transforms SortExpression into OrderBy<TSource, TKey>(IQueryable<TSource>, Expression<Func<TSource, TKey>>) calls.

IQueryableBuilder

Drives conversion from QueryLayer into system Expression trees.

ISelectClauseBuilder

Transforms SparseFieldSetExpression into Select<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) calls.

ISkipTakeClauseBuilder

Transforms PaginationExpression into Skip<TSource>(IQueryable<TSource>, int) and Take<TSource>(IQueryable<TSource>, int) calls.

IWhereClauseBuilder

Transforms FilterExpression into Where<TSource>(IQueryable<TSource>, Expression<Func<TSource, bool>>) calls.