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
Afficher le fichier Open project: re-motion/Relinq-SqlBackend Class Usage Examples

Méthodes publiques

Méthode 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

Méthodes protégées

Méthode 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 méthode

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
Résultat System.Linq.Expressions.Expression

ResolvingExpressionVisitor() protected méthode

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
Résultat System

VisitBinaryExpression() protected méthode

protected VisitBinaryExpression ( BinaryExpression expression ) : Expression
expression System.Linq.Expressions.BinaryExpression
Résultat System.Linq.Expressions.Expression

VisitConstantExpression() protected méthode

protected VisitConstantExpression ( ConstantExpression expression ) : Expression
expression System.Linq.Expressions.ConstantExpression
Résultat System.Linq.Expressions.Expression

VisitJoinConditionExpression() public méthode

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

VisitMemberExpression() protected méthode

protected VisitMemberExpression ( MemberExpression expression ) : Expression
expression System.Linq.Expressions.MemberExpression
Résultat System.Linq.Expressions.Expression

VisitNamedExpression() public méthode

public VisitNamedExpression ( NamedExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.NamedExpression
Résultat System.Linq.Expressions.Expression

VisitSqlEntityRefMemberExpression() public méthode

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

VisitSqlExistsExpression() public méthode

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

VisitSqlInExpression() public méthode

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

VisitSqlIsNotNullExpression() public méthode

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

VisitSqlIsNullExpression() public méthode

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

VisitSqlSubStatementExpression() public méthode

public VisitSqlSubStatementExpression ( SqlSubStatementExpression expression ) : Expression
expression Remotion.Linq.SqlBackend.SqlStatementModel.SqlSubStatementExpression
Résultat System.Linq.Expressions.Expression

VisitSqlTableReferenceExpression() public méthode

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

VisitTypeBinaryExpression() protected méthode

protected VisitTypeBinaryExpression ( TypeBinaryExpression expression ) : Expression
expression System.Linq.Expressions.TypeBinaryExpression
Résultat System.Linq.Expressions.Expression