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
파일 보기 프로젝트 열기: re-motion/Relinq-SqlBackend 1 사용 예제들

공개 메소드들

메소드 설명
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