Table of Contents

Class SqlExpressionVisitor

Namespace
Microsoft.EntityFrameworkCore.Query
Assembly
Microsoft.EntityFrameworkCore.Relational.dll

A class that visits a SQL expression tree.

This type is typically used by database providers (and other extensions). It is generally not used in application code.

public abstract class SqlExpressionVisitor : ExpressionVisitor
Inheritance
SqlExpressionVisitor
Derived
Inherited Members

Constructors

SqlExpressionVisitor()

protected SqlExpressionVisitor()

Methods

VisitCase(CaseExpression)

Visits the children of the case expression.

protected abstract Expression VisitCase(CaseExpression caseExpression)

Parameters

caseExpression CaseExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitCollate(CollateExpression)

Visits the children of the collate expression.

protected abstract Expression VisitCollate(CollateExpression collateExpression)

Parameters

collateExpression CollateExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitColumn(ColumnExpression)

Visits the children of the column expression.

protected abstract Expression VisitColumn(ColumnExpression columnExpression)

Parameters

columnExpression ColumnExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitCrossApply(CrossApplyExpression)

Visits the children of the cross apply expression.

protected abstract Expression VisitCrossApply(CrossApplyExpression crossApplyExpression)

Parameters

crossApplyExpression CrossApplyExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitCrossJoin(CrossJoinExpression)

Visits the children of the cross join expression.

protected abstract Expression VisitCrossJoin(CrossJoinExpression crossJoinExpression)

Parameters

crossJoinExpression CrossJoinExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitDistinct(DistinctExpression)

Visits the children of the distinct expression.

protected abstract Expression VisitDistinct(DistinctExpression distinctExpression)

Parameters

distinctExpression DistinctExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitExcept(ExceptExpression)

Visits the children of the except expression.

protected abstract Expression VisitExcept(ExceptExpression exceptExpression)

Parameters

exceptExpression ExceptExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitExists(ExistsExpression)

Visits the children of the exists expression.

protected abstract Expression VisitExists(ExistsExpression existsExpression)

Parameters

existsExpression ExistsExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitExtension(Expression)

protected override Expression VisitExtension(Expression extensionExpression)

Parameters

extensionExpression Expression

Returns

Expression

VisitFromSql(FromSqlExpression)

Visits the children of the from sql expression.

protected abstract Expression VisitFromSql(FromSqlExpression fromSqlExpression)

Parameters

fromSqlExpression FromSqlExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitIn(InExpression)

Visits the children of the in expression.

protected abstract Expression VisitIn(InExpression inExpression)

Parameters

inExpression InExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitInnerJoin(InnerJoinExpression)

Visits the children of the inner join expression.

protected abstract Expression VisitInnerJoin(InnerJoinExpression innerJoinExpression)

Parameters

innerJoinExpression InnerJoinExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitIntersect(IntersectExpression)

Visits the children of the intersect expression.

protected abstract Expression VisitIntersect(IntersectExpression intersectExpression)

Parameters

intersectExpression IntersectExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitLeftJoin(LeftJoinExpression)

Visits the children of the left join expression.

protected abstract Expression VisitLeftJoin(LeftJoinExpression leftJoinExpression)

Parameters

leftJoinExpression LeftJoinExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitLike(LikeExpression)

Visits the children of the like expression.

protected abstract Expression VisitLike(LikeExpression likeExpression)

Parameters

likeExpression LikeExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitOrdering(OrderingExpression)

Visits the children of the ordering expression.

protected abstract Expression VisitOrdering(OrderingExpression orderingExpression)

Parameters

orderingExpression OrderingExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitOuterApply(OuterApplyExpression)

Visits the children of the outer apply expression.

protected abstract Expression VisitOuterApply(OuterApplyExpression outerApplyExpression)

Parameters

outerApplyExpression OuterApplyExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitProjection(ProjectionExpression)

Visits the children of the projection expression.

protected abstract Expression VisitProjection(ProjectionExpression projectionExpression)

Parameters

projectionExpression ProjectionExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitRowNumber(RowNumberExpression)

Visits the children of the row number expression.

protected abstract Expression VisitRowNumber(RowNumberExpression rowNumberExpression)

Parameters

rowNumberExpression RowNumberExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitScalarSubquery(ScalarSubqueryExpression)

Visits the children of the scalar subquery expression.

protected abstract Expression VisitScalarSubquery(ScalarSubqueryExpression scalarSubqueryExpression)

Parameters

scalarSubqueryExpression ScalarSubqueryExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitSelect(SelectExpression)

Visits the children of the select expression.

protected abstract Expression VisitSelect(SelectExpression selectExpression)

Parameters

selectExpression SelectExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitSqlBinary(SqlBinaryExpression)

Visits the children of the sql binary expression.

protected abstract Expression VisitSqlBinary(SqlBinaryExpression sqlBinaryExpression)

Parameters

sqlBinaryExpression SqlBinaryExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitSqlConstant(SqlConstantExpression)

Visits the children of the sql constant expression.

protected abstract Expression VisitSqlConstant(SqlConstantExpression sqlConstantExpression)

Parameters

sqlConstantExpression SqlConstantExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitSqlFragment(SqlFragmentExpression)

Visits the children of the sql fragent expression.

protected abstract Expression VisitSqlFragment(SqlFragmentExpression sqlFragmentExpression)

Parameters

sqlFragmentExpression SqlFragmentExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitSqlFunction(SqlFunctionExpression)

Visits the children of the sql function expression.

protected abstract Expression VisitSqlFunction(SqlFunctionExpression sqlFunctionExpression)

Parameters

sqlFunctionExpression SqlFunctionExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitSqlParameter(SqlParameterExpression)

Visits the children of the sql parameter expression.

protected abstract Expression VisitSqlParameter(SqlParameterExpression sqlParameterExpression)

Parameters

sqlParameterExpression SqlParameterExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitSqlUnary(SqlUnaryExpression)

Visits the children of the sql unary expression.

protected abstract Expression VisitSqlUnary(SqlUnaryExpression sqlUnaryExpression)

Parameters

sqlUnaryExpression SqlUnaryExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitTable(TableExpression)

Visits the children of the table expression.

protected abstract Expression VisitTable(TableExpression tableExpression)

Parameters

tableExpression TableExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitTableValuedFunction(TableValuedFunctionExpression)

Visits the children of the table valued function expression.

protected abstract Expression VisitTableValuedFunction(TableValuedFunctionExpression tableValuedFunctionExpression)

Parameters

tableValuedFunctionExpression TableValuedFunctionExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.

VisitUnion(UnionExpression)

Visits the children of the union expression.

protected abstract Expression VisitUnion(UnionExpression unionExpression)

Parameters

unionExpression UnionExpression

The expression to visit.

Returns

Expression

The modified expression, if it or any subexpression was modified; otherwise, returns the original expression.