Table of Contents

Class WhereClauseBuilder

Namespace
JsonApiDotNetCore.Queries.QueryableBuilding
Assembly
JsonApiDotNetCore.dll
[PublicAPI]
public class WhereClauseBuilder : QueryClauseBuilder, IWhereClauseBuilder
Inheritance
WhereClauseBuilder
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

ApplyWhere(FilterExpression, QueryClauseBuilderContext)

public virtual Expression ApplyWhere(FilterExpression filter, QueryClauseBuilderContext context)

Parameters

filter FilterExpression
context QueryClauseBuilderContext

Returns

Expression

VisitAny(AnyExpression, QueryClauseBuilderContext)

public override Expression VisitAny(AnyExpression expression, QueryClauseBuilderContext context)

Parameters

expression AnyExpression
context QueryClauseBuilderContext

Returns

Expression

VisitComparison(ComparisonExpression, QueryClauseBuilderContext)

public override Expression VisitComparison(ComparisonExpression expression, QueryClauseBuilderContext context)

Parameters

expression ComparisonExpression
context QueryClauseBuilderContext

Returns

Expression

VisitHas(HasExpression, QueryClauseBuilderContext)

public override Expression VisitHas(HasExpression expression, QueryClauseBuilderContext context)

Parameters

expression HasExpression
context QueryClauseBuilderContext

Returns

Expression

VisitIsType(IsTypeExpression, QueryClauseBuilderContext)

public override Expression VisitIsType(IsTypeExpression expression, QueryClauseBuilderContext context)

Parameters

expression IsTypeExpression
context QueryClauseBuilderContext

Returns

Expression

VisitLiteralConstant(LiteralConstantExpression, QueryClauseBuilderContext)

public override Expression VisitLiteralConstant(LiteralConstantExpression expression, QueryClauseBuilderContext context)

Parameters

expression LiteralConstantExpression
context QueryClauseBuilderContext

Returns

Expression

VisitLogical(LogicalExpression, QueryClauseBuilderContext)

public override Expression VisitLogical(LogicalExpression expression, QueryClauseBuilderContext context)

Parameters

expression LogicalExpression
context QueryClauseBuilderContext

Returns

Expression

VisitMatchText(MatchTextExpression, QueryClauseBuilderContext)

public override Expression VisitMatchText(MatchTextExpression expression, QueryClauseBuilderContext context)

Parameters

expression MatchTextExpression
context QueryClauseBuilderContext

Returns

Expression

VisitNot(NotExpression, QueryClauseBuilderContext)

public override Expression VisitNot(NotExpression expression, QueryClauseBuilderContext context)

Parameters

expression NotExpression
context QueryClauseBuilderContext

Returns

Expression

VisitNullConstant(NullConstantExpression, QueryClauseBuilderContext)

public override Expression VisitNullConstant(NullConstantExpression expression, QueryClauseBuilderContext context)

Parameters

expression NullConstantExpression
context QueryClauseBuilderContext

Returns

Expression