C# Class Remotion.Linq.SqlBackend.SqlGeneration.SqlGeneratingOuterSelectExpressionVisitor

Extends SqlGeneratingSelectExpressionVisitor by building an in-memory projection. This should be used for the SqlStatement.SelectProjection of the outermost SqlStatement in a query. For substatements, SqlGeneratingSelectExpressionVisitor should be used instead.
Inheritance: SqlGeneratingSelectExpressionVisitor, ISqlConvertedBooleanExpressionVisitor
显示文件 Open project: re-motion/Relinq-SqlBackend Class Usage Examples

Public Methods

Method Description
GenerateSql ( Expression expression, ISqlCommandBuilder commandBuilder, ISqlGenerationStage stage ) : void
VisitNamedExpression ( NamedExpression expression ) : Expression
VisitSqlConvertedBooleanExpression ( SqlConvertedBooleanExpression expression ) : Expression
VisitSqlEntityExpression ( SqlEntityExpression expression ) : Expression
VisitSqlGroupingSelectExpression ( SqlGroupingSelectExpression expression ) : Expression

Protected Methods

Method Description
GetNextColumnID ( string columnName ) : ColumnID
SqlGeneratingOuterSelectExpressionVisitor ( ISqlCommandBuilder commandBuilder, ISqlGenerationStage stage ) : System
VisitMethodCallExpression ( MethodCallExpression expression ) : Expression
VisitNewExpression ( NewExpression expression ) : Expression
VisitUnaryExpression ( UnaryExpression expression ) : Expression

Private Methods

Method Description
GetBitConversionExpression ( Type sourceType, Type targetType, Expression convertedExpression ) : Expression
SetInMemoryProjectionForNamedExpression ( Type typeOfValue, Expression columnID ) : void
VisitArgumentOfLocalEvaluation ( Expression argumentExpression ) : Expression

Method Details

GenerateSql() public static method

public static GenerateSql ( Expression expression, ISqlCommandBuilder commandBuilder, ISqlGenerationStage stage ) : void
expression System.Linq.Expressions.Expression
commandBuilder ISqlCommandBuilder
stage ISqlGenerationStage
return void

GetNextColumnID() protected method

protected GetNextColumnID ( string columnName ) : ColumnID
columnName string
return ColumnID

SqlGeneratingOuterSelectExpressionVisitor() protected method

protected SqlGeneratingOuterSelectExpressionVisitor ( ISqlCommandBuilder commandBuilder, ISqlGenerationStage stage ) : System
commandBuilder ISqlCommandBuilder
stage ISqlGenerationStage
return System

VisitMethodCallExpression() protected method

protected VisitMethodCallExpression ( MethodCallExpression expression ) : Expression
expression System.Linq.Expressions.MethodCallExpression
return System.Linq.Expressions.Expression

VisitNamedExpression() public method

public VisitNamedExpression ( NamedExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.NamedExpression
return System.Linq.Expressions.Expression

VisitNewExpression() protected method

protected VisitNewExpression ( NewExpression expression ) : Expression
expression System.Linq.Expressions.NewExpression
return System.Linq.Expressions.Expression

VisitSqlConvertedBooleanExpression() public method

public VisitSqlConvertedBooleanExpression ( SqlConvertedBooleanExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.Resolved.SqlConvertedBooleanExpression
return System.Linq.Expressions.Expression

VisitSqlEntityExpression() public method

public VisitSqlEntityExpression ( SqlEntityExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.Resolved.SqlEntityExpression
return System.Linq.Expressions.Expression

VisitSqlGroupingSelectExpression() public method

public VisitSqlGroupingSelectExpression ( SqlGroupingSelectExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlGroupingSelectExpression
return System.Linq.Expressions.Expression

VisitUnaryExpression() protected method

protected VisitUnaryExpression ( UnaryExpression expression ) : Expression
expression System.Linq.Expressions.UnaryExpression
return System.Linq.Expressions.Expression