Table of Contents

Class RelationalSqlTranslatingExpressionVisitor

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

A class that translates expressions to corresponding SQL representation.

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

public class RelationalSqlTranslatingExpressionVisitor : ExpressionVisitor
Inheritance
RelationalSqlTranslatingExpressionVisitor
Inherited Members

Constructors

RelationalSqlTranslatingExpressionVisitor(RelationalSqlTranslatingExpressionVisitorDependencies, QueryCompilationContext, QueryableMethodTranslatingExpressionVisitor)

Creates a new instance of the RelationalSqlTranslatingExpressionVisitor class.

public RelationalSqlTranslatingExpressionVisitor(RelationalSqlTranslatingExpressionVisitorDependencies dependencies, QueryCompilationContext queryCompilationContext, QueryableMethodTranslatingExpressionVisitor queryableMethodTranslatingExpressionVisitor)

Parameters

dependencies RelationalSqlTranslatingExpressionVisitorDependencies

Parameter object containing dependencies for this class.

queryCompilationContext QueryCompilationContext

The query compilation context object to use.

queryableMethodTranslatingExpressionVisitor QueryableMethodTranslatingExpressionVisitor

A parent queryable method translating expression visitor to translate subquery.

Properties

Dependencies

Parameter object containing service dependencies.

protected virtual RelationalSqlTranslatingExpressionVisitorDependencies Dependencies { get; }

Property Value

RelationalSqlTranslatingExpressionVisitorDependencies

TranslationErrorDetails

Detailed information about errors encountered during translation.

public virtual string TranslationErrorDetails { get; }

Property Value

string

Methods

AddTranslationErrorDetails(string)

Adds detailed information about error encountered during translation.

protected virtual void AddTranslationErrorDetails(string details)

Parameters

details string

Detailed information about error encountered during translation.

Translate(Expression)

Translates an expression to an equivalent SQL representation.

public virtual SqlExpression Translate(Expression expression)

Parameters

expression Expression

An expression to translate.

Returns

SqlExpression

A SQL translation of the given expression.

TranslateAverage(SqlExpression)

Translates Average over an expression to an equivalent SQL representation.

public virtual SqlExpression TranslateAverage(SqlExpression sqlExpression)

Parameters

sqlExpression SqlExpression

An expression to translate Average over.

Returns

SqlExpression

A SQL translation of Average over the given expression.

TranslateCount(SqlExpression)

Translates Count over an expression to an equivalent SQL representation.

public virtual SqlExpression TranslateCount(SqlExpression sqlExpression)

Parameters

sqlExpression SqlExpression

An expression to translate Count over.

Returns

SqlExpression

A SQL translation of Count over the given expression.

TranslateLongCount(SqlExpression)

Translates LongCount over an expression to an equivalent SQL representation.

public virtual SqlExpression TranslateLongCount(SqlExpression sqlExpression)

Parameters

sqlExpression SqlExpression

An expression to translate LongCount over.

Returns

SqlExpression

A SQL translation of LongCount over the given expression.

TranslateMax(SqlExpression)

Translates Max over an expression to an equivalent SQL representation.

public virtual SqlExpression TranslateMax(SqlExpression sqlExpression)

Parameters

sqlExpression SqlExpression

An expression to translate Max over.

Returns

SqlExpression

A SQL translation of Max over the given expression.

TranslateMin(SqlExpression)

Translates Min over an expression to an equivalent SQL representation.

public virtual SqlExpression TranslateMin(SqlExpression sqlExpression)

Parameters

sqlExpression SqlExpression

An expression to translate Min over.

Returns

SqlExpression

A SQL translation of Min over the given expression.

TranslateSum(SqlExpression)

Translates Sum over an expression to an equivalent SQL representation.

public virtual SqlExpression TranslateSum(SqlExpression sqlExpression)

Parameters

sqlExpression SqlExpression

An expression to translate Sum over.

Returns

SqlExpression

A SQL translation of Sum over the given expression.

VisitBinary(BinaryExpression)

protected override Expression VisitBinary(BinaryExpression binaryExpression)

Parameters

binaryExpression BinaryExpression

Returns

Expression

VisitConditional(ConditionalExpression)

protected override Expression VisitConditional(ConditionalExpression conditionalExpression)

Parameters

conditionalExpression ConditionalExpression

Returns

Expression

VisitConstant(ConstantExpression)

protected override Expression VisitConstant(ConstantExpression constantExpression)

Parameters

constantExpression ConstantExpression

Returns

Expression

VisitExtension(Expression)

protected override Expression VisitExtension(Expression extensionExpression)

Parameters

extensionExpression Expression

Returns

Expression

VisitInvocation(InvocationExpression)

protected override Expression VisitInvocation(InvocationExpression invocationExpression)

Parameters

invocationExpression InvocationExpression

Returns

Expression

VisitLambda<T>(Expression<T>)

protected override Expression VisitLambda<T>(Expression<T> lambdaExpression)

Parameters

lambdaExpression Expression<T>

Returns

Expression

Type Parameters

T

VisitListInit(ListInitExpression)

protected override Expression VisitListInit(ListInitExpression listInitExpression)

Parameters

listInitExpression ListInitExpression

Returns

Expression

VisitMember(MemberExpression)

protected override Expression VisitMember(MemberExpression memberExpression)

Parameters

memberExpression MemberExpression

Returns

Expression

VisitMemberInit(MemberInitExpression)

protected override Expression VisitMemberInit(MemberInitExpression memberInitExpression)

Parameters

memberInitExpression MemberInitExpression

Returns

Expression

VisitMethodCall(MethodCallExpression)

protected override Expression VisitMethodCall(MethodCallExpression methodCallExpression)

Parameters

methodCallExpression MethodCallExpression

Returns

Expression

VisitNew(NewExpression)

protected override Expression VisitNew(NewExpression newExpression)

Parameters

newExpression NewExpression

Returns

Expression

VisitNewArray(NewArrayExpression)

protected override Expression VisitNewArray(NewArrayExpression newArrayExpression)

Parameters

newArrayExpression NewArrayExpression

Returns

Expression

VisitParameter(ParameterExpression)

protected override Expression VisitParameter(ParameterExpression parameterExpression)

Parameters

parameterExpression ParameterExpression

Returns

Expression

VisitTypeBinary(TypeBinaryExpression)

protected override Expression VisitTypeBinary(TypeBinaryExpression typeBinaryExpression)

Parameters

typeBinaryExpression TypeBinaryExpression

Returns

Expression

VisitUnary(UnaryExpression)

protected override Expression VisitUnary(UnaryExpression unaryExpression)

Parameters

unaryExpression UnaryExpression

Returns

Expression