C# Класс Remotion.Linq.SqlBackend.MappingResolution.SqlContextExpressionVisitor

Ensures that a given expression matches SQL server value semantics.
SqlContextExpressionVisitor traverses an expression tree and ensures that the tree fits SQL server requirements for expressions. In scenarios where a value is required as per SQL server standards, boolean expressions are converted to integers using CASE WHEN expressions. In such situations, and constants are converted to 1 and 0 values, and boolean columns are interpreted as integer values. In scenarios where a predicate is required, boolean expressions are constructed by comparing those integer values to 1 and 0 literals. In scenarios where a single value is required, an exception is thrown where compound values (NewExpression) or entities are encountered.
Наследование: System.Linq.Expressions.ExpressionTreeVisitor, ISqlSpecificExpressionVisitor, IResolvedSqlExpressionVisitor, ISqlSubStatementVisitor, ISqlGroupingSelectExpressionVisitor, ISqlConvertedBooleanExpressionVisitor, INamedExpressionVisitor, IAggregationExpressionVisitor
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
ApplySqlExpressionContext ( Expression expression, SqlExpressionContext initialSemantics, IMappingResolutionStage stage, IMappingResolutionContext context ) : Expression
VisitAggregationExpression ( AggregationExpression expression ) : Expression
VisitExpression ( Expression expression ) : Expression
VisitNamedExpression ( NamedExpression expression ) : Expression
VisitSqlCaseExpression ( SqlCaseExpression expression ) : Expression
VisitSqlColumnExpression ( SqlColumnExpression expression ) : Expression
VisitSqlConvertExpression ( SqlConvertExpression expression ) : Expression
VisitSqlConvertedBooleanExpression ( SqlConvertedBooleanExpression expression ) : Expression
VisitSqlEntityConstantExpression ( SqlEntityConstantExpression expression ) : Expression
VisitSqlEntityExpression ( SqlEntityExpression expression ) : Expression
VisitSqlExistsExpression ( SqlExistsExpression expression ) : Expression
VisitSqlFunctionExpression ( SqlFunctionExpression expression ) : Expression
VisitSqlGroupingSelectExpression ( SqlGroupingSelectExpression expression ) : Expression
VisitSqlInExpression ( SqlInExpression expression ) : Expression
VisitSqlIsNotNullExpression ( SqlIsNotNullExpression expression ) : Expression
VisitSqlIsNullExpression ( SqlIsNullExpression expression ) : Expression
VisitSqlLengthExpression ( SqlLengthExpression expression ) : Expression
VisitSqlLikeExpression ( SqlLikeExpression expression ) : Expression
VisitSqlLiteralExpression ( SqlLiteralExpression expression ) : Expression
VisitSqlRowNumberExpression ( SqlRowNumberExpression expression ) : Expression
VisitSqlSubStatementExpression ( SqlSubStatementExpression expression ) : Expression

Защищенные методы

Метод Описание
SqlContextExpressionVisitor ( SqlExpressionContext currentContext, IMappingResolutionStage stage, IMappingResolutionContext context ) : System
VisitBinaryExpression ( BinaryExpression expression ) : Expression
VisitConstantExpression ( ConstantExpression expression ) : Expression
VisitInvocationExpression ( InvocationExpression expression ) : Expression
VisitLambdaExpression ( LambdaExpression expression ) : Expression
VisitMethodCallExpression ( MethodCallExpression expression ) : Expression
VisitNewExpression ( NewExpression expression ) : Expression
VisitUnaryExpression ( UnaryExpression expression ) : Expression

Приватные методы

Метод Описание
ApplyPredicateContext ( Expression expression ) : Expression
ApplySingleValueContext ( Expression expression ) : Expression
ApplySqlExpressionContext ( Expression expression, SqlExpressionContext expressionContext ) : Expression
ApplyValueContext ( Expression expression ) : Expression
CreateValueExpressionForPredicate ( Expression predicate ) : Expression
GetChildSemanticsForBinaryBoolExpression ( ExpressionType expressionType ) : SqlExpressionContext
GetChildSemanticsForUnaryExpression ( Expression expression ) : SqlExpressionContext
HandlePredicateSemantics ( Expression expression ) : Expression
HandleValueSemantics ( Expression expression ) : Expression
VisitChildrenWithGivenSemantics ( Remotion.Linq.Clauses.Expressions.ExtensionExpression expression, SqlExpressionContext childContext ) : Expression

Описание методов

ApplySqlExpressionContext() публичный статический Метод

public static ApplySqlExpressionContext ( Expression expression, SqlExpressionContext initialSemantics, IMappingResolutionStage stage, IMappingResolutionContext context ) : Expression
expression System.Linq.Expressions.Expression
initialSemantics SqlExpressionContext
stage IMappingResolutionStage
context IMappingResolutionContext
Результат System.Linq.Expressions.Expression

SqlContextExpressionVisitor() защищенный Метод

protected SqlContextExpressionVisitor ( SqlExpressionContext currentContext, IMappingResolutionStage stage, IMappingResolutionContext context ) : System
currentContext SqlExpressionContext
stage IMappingResolutionStage
context IMappingResolutionContext
Результат System

VisitAggregationExpression() публичный Метод

public VisitAggregationExpression ( AggregationExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.AggregationExpression
Результат System.Linq.Expressions.Expression

VisitBinaryExpression() защищенный Метод

protected VisitBinaryExpression ( BinaryExpression expression ) : Expression
expression System.Linq.Expressions.BinaryExpression
Результат System.Linq.Expressions.Expression

VisitConstantExpression() защищенный Метод

protected VisitConstantExpression ( ConstantExpression expression ) : Expression
expression System.Linq.Expressions.ConstantExpression
Результат System.Linq.Expressions.Expression

VisitExpression() публичный Метод

public VisitExpression ( Expression expression ) : Expression
expression System.Linq.Expressions.Expression
Результат System.Linq.Expressions.Expression

VisitInvocationExpression() защищенный Метод

protected VisitInvocationExpression ( InvocationExpression expression ) : Expression
expression System.Linq.Expressions.InvocationExpression
Результат System.Linq.Expressions.Expression

VisitLambdaExpression() защищенный Метод

protected VisitLambdaExpression ( LambdaExpression expression ) : Expression
expression System.Linq.Expressions.LambdaExpression
Результат System.Linq.Expressions.Expression

VisitMethodCallExpression() защищенный Метод

protected VisitMethodCallExpression ( MethodCallExpression expression ) : Expression
expression System.Linq.Expressions.MethodCallExpression
Результат System.Linq.Expressions.Expression

VisitNamedExpression() публичный Метод

public VisitNamedExpression ( NamedExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.NamedExpression
Результат System.Linq.Expressions.Expression

VisitNewExpression() защищенный Метод

protected VisitNewExpression ( NewExpression expression ) : Expression
expression System.Linq.Expressions.NewExpression
Результат System.Linq.Expressions.Expression

VisitSqlCaseExpression() публичный Метод

public VisitSqlCaseExpression ( SqlCaseExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSpecificExpressions.SqlCaseExpression
Результат System.Linq.Expressions.Expression

VisitSqlColumnExpression() публичный Метод

public VisitSqlColumnExpression ( SqlColumnExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.Resolved.SqlColumnExpression
Результат System.Linq.Expressions.Expression

VisitSqlConvertExpression() публичный Метод

public VisitSqlConvertExpression ( SqlConvertExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSpecificExpressions.SqlConvertExpression
Результат System.Linq.Expressions.Expression

VisitSqlConvertedBooleanExpression() публичный Метод

public VisitSqlConvertedBooleanExpression ( SqlConvertedBooleanExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.Resolved.SqlConvertedBooleanExpression
Результат System.Linq.Expressions.Expression

VisitSqlEntityConstantExpression() публичный Метод

public VisitSqlEntityConstantExpression ( SqlEntityConstantExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.Resolved.SqlEntityConstantExpression
Результат System.Linq.Expressions.Expression

VisitSqlEntityExpression() публичный Метод

public VisitSqlEntityExpression ( SqlEntityExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.Resolved.SqlEntityExpression
Результат System.Linq.Expressions.Expression

VisitSqlExistsExpression() публичный Метод

public VisitSqlExistsExpression ( SqlExistsExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSpecificExpressions.SqlExistsExpression
Результат System.Linq.Expressions.Expression

VisitSqlFunctionExpression() публичный Метод

public VisitSqlFunctionExpression ( SqlFunctionExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSpecificExpressions.SqlFunctionExpression
Результат System.Linq.Expressions.Expression

VisitSqlGroupingSelectExpression() публичный Метод

public VisitSqlGroupingSelectExpression ( SqlGroupingSelectExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlGroupingSelectExpression
Результат System.Linq.Expressions.Expression

VisitSqlInExpression() публичный Метод

public VisitSqlInExpression ( SqlInExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSpecificExpressions.SqlInExpression
Результат System.Linq.Expressions.Expression

VisitSqlIsNotNullExpression() публичный Метод

public VisitSqlIsNotNullExpression ( SqlIsNotNullExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSpecificExpressions.SqlIsNotNullExpression
Результат System.Linq.Expressions.Expression

VisitSqlIsNullExpression() публичный Метод

public VisitSqlIsNullExpression ( SqlIsNullExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSpecificExpressions.SqlIsNullExpression
Результат System.Linq.Expressions.Expression

VisitSqlLengthExpression() публичный Метод

public VisitSqlLengthExpression ( SqlLengthExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSpecificExpressions.SqlLengthExpression
Результат System.Linq.Expressions.Expression

VisitSqlLikeExpression() публичный Метод

public VisitSqlLikeExpression ( SqlLikeExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSpecificExpressions.SqlLikeExpression
Результат System.Linq.Expressions.Expression

VisitSqlLiteralExpression() публичный Метод

public VisitSqlLiteralExpression ( SqlLiteralExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSpecificExpressions.SqlLiteralExpression
Результат System.Linq.Expressions.Expression

VisitSqlRowNumberExpression() публичный Метод

public VisitSqlRowNumberExpression ( SqlRowNumberExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSpecificExpressions.SqlRowNumberExpression
Результат System.Linq.Expressions.Expression

VisitSqlSubStatementExpression() публичный Метод

public VisitSqlSubStatementExpression ( SqlSubStatementExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSubStatementExpression
Результат System.Linq.Expressions.Expression

VisitUnaryExpression() защищенный Метод

protected VisitUnaryExpression ( UnaryExpression expression ) : Expression
expression System.Linq.Expressions.UnaryExpression
Результат System.Linq.Expressions.Expression