C# Class Remotion.Linq.SqlBackend.MappingResolution.ResolvingExpressionVisitor

ResolvingExpressionVisitor analyzes a prepared Expression for things that need to be analyzed by the IMappingResolver and resolves member accesses and similar structures. Substatements are recursively resolved. Calling ResolveExpression will automatically execute two passes in order to optimize away unnecessary left-outer joins.
Inheritance: System.Linq.Expressions.ExpressionTreeVisitor, IUnresolvedSqlExpressionVisitor, ISqlSubStatementVisitor, IJoinConditionExpressionVisitor, INamedExpressionVisitor, ISqlNullCheckExpressionVisitor, ISqlInExpressionVisitor, ISqlExistsExpressionVisitor
显示文件 Open project: re-motion/Relinq-SqlBackend Class Usage Examples

Public Methods

Method Description
ResolveExpression ( Expression expression, IMappingResolver resolver, IMappingResolutionStage stage, IMappingResolutionContext context, UniqueIdentifierGenerator generator ) : Expression
VisitJoinConditionExpression ( JoinConditionExpression expression ) : Expression
VisitNamedExpression ( NamedExpression expression ) : Expression
VisitSqlEntityRefMemberExpression ( SqlEntityRefMemberExpression expression ) : Expression
VisitSqlExistsExpression ( SqlExistsExpression expression ) : Expression
VisitSqlInExpression ( SqlInExpression expression ) : Expression
VisitSqlIsNotNullExpression ( SqlIsNotNullExpression expression ) : Expression
VisitSqlIsNullExpression ( SqlIsNullExpression expression ) : Expression
VisitSqlSubStatementExpression ( SqlSubStatementExpression expression ) : Expression
VisitSqlTableReferenceExpression ( SqlTableReferenceExpression expression ) : Expression

Protected Methods

Method Description
ResolvingExpressionVisitor ( IMappingResolver resolver, IMappingResolutionStage stage, IMappingResolutionContext context, UniqueIdentifierGenerator generator, IEntityIdentityResolver entityIdentityResolver, ICompoundExpressionComparisonSplitter compoundComparisonSplitter, INamedExpressionCombiner namedExpressionCombiner, IGroupAggregateSimplifier groupAggregateSimplifier, bool resolveEntityRefMemberExpressions ) : System
VisitBinaryExpression ( BinaryExpression expression ) : Expression
VisitConstantExpression ( ConstantExpression expression ) : Expression
VisitMemberExpression ( MemberExpression expression ) : Expression
VisitTypeBinaryExpression ( TypeBinaryExpression expression ) : Expression

Method Details

ResolveExpression() public static method

public static ResolveExpression ( Expression expression, IMappingResolver resolver, IMappingResolutionStage stage, IMappingResolutionContext context, UniqueIdentifierGenerator generator ) : Expression
expression System.Linq.Expressions.Expression
resolver IMappingResolver
stage IMappingResolutionStage
context IMappingResolutionContext
generator UniqueIdentifierGenerator
return System.Linq.Expressions.Expression

ResolvingExpressionVisitor() protected method

protected ResolvingExpressionVisitor ( IMappingResolver resolver, IMappingResolutionStage stage, IMappingResolutionContext context, UniqueIdentifierGenerator generator, IEntityIdentityResolver entityIdentityResolver, ICompoundExpressionComparisonSplitter compoundComparisonSplitter, INamedExpressionCombiner namedExpressionCombiner, IGroupAggregateSimplifier groupAggregateSimplifier, bool resolveEntityRefMemberExpressions ) : System
resolver IMappingResolver
stage IMappingResolutionStage
context IMappingResolutionContext
generator UniqueIdentifierGenerator
entityIdentityResolver IEntityIdentityResolver
compoundComparisonSplitter ICompoundExpressionComparisonSplitter
namedExpressionCombiner INamedExpressionCombiner
groupAggregateSimplifier IGroupAggregateSimplifier
resolveEntityRefMemberExpressions bool
return System

VisitBinaryExpression() protected method

protected VisitBinaryExpression ( BinaryExpression expression ) : Expression
expression System.Linq.Expressions.BinaryExpression
return System.Linq.Expressions.Expression

VisitConstantExpression() protected method

protected VisitConstantExpression ( ConstantExpression expression ) : Expression
expression System.Linq.Expressions.ConstantExpression
return System.Linq.Expressions.Expression

VisitJoinConditionExpression() public method

public VisitJoinConditionExpression ( JoinConditionExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.Unresolved.JoinConditionExpression
return System.Linq.Expressions.Expression

VisitMemberExpression() protected method

protected VisitMemberExpression ( MemberExpression expression ) : Expression
expression System.Linq.Expressions.MemberExpression
return System.Linq.Expressions.Expression

VisitNamedExpression() public method

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

VisitSqlEntityRefMemberExpression() public method

public VisitSqlEntityRefMemberExpression ( SqlEntityRefMemberExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.Unresolved.SqlEntityRefMemberExpression
return System.Linq.Expressions.Expression

VisitSqlExistsExpression() public method

public VisitSqlExistsExpression ( SqlExistsExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSpecificExpressions.SqlExistsExpression
return System.Linq.Expressions.Expression

VisitSqlInExpression() public method

public VisitSqlInExpression ( SqlInExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSpecificExpressions.SqlInExpression
return System.Linq.Expressions.Expression

VisitSqlIsNotNullExpression() public method

public VisitSqlIsNotNullExpression ( SqlIsNotNullExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSpecificExpressions.SqlIsNotNullExpression
return System.Linq.Expressions.Expression

VisitSqlIsNullExpression() public method

public VisitSqlIsNullExpression ( SqlIsNullExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSpecificExpressions.SqlIsNullExpression
return System.Linq.Expressions.Expression

VisitSqlSubStatementExpression() public method

public VisitSqlSubStatementExpression ( SqlSubStatementExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSubStatementExpression
return System.Linq.Expressions.Expression

VisitSqlTableReferenceExpression() public method

public VisitSqlTableReferenceExpression ( SqlTableReferenceExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.Unresolved.SqlTableReferenceExpression
return System.Linq.Expressions.Expression

VisitTypeBinaryExpression() protected method

protected VisitTypeBinaryExpression ( TypeBinaryExpression expression ) : Expression
expression System.Linq.Expressions.TypeBinaryExpression
return System.Linq.Expressions.Expression