C# Class NHibernate.Linq.Visitors.MemberExpressionJoinDetector

Detects joins in Select, OrderBy and Results (GroupBy) clauses. Replaces them with appropriate joins, maintaining reference equality between different clauses. This allows extracted GroupBy key expression to also be replaced so that they can continue to match replaced Select expressions
Inheritance: System.Linq.Expressions.ExpressionTreeVisitor
ファイルを表示 Open project: nhibernate/nhibernate-core Class Usage Examples

Public Methods

Method Description
MemberExpressionJoinDetector ( IIsEntityDecider isEntityDecider, IJoiner joiner ) : System.Collections
Transform ( Remotion.Linq.Clauses.Ordering ordering ) : void
Transform ( ResultOperatorBase resultOperator ) : void
Transform ( Remotion.Linq.Clauses.SelectClause selectClause ) : void

Protected Methods

Method Description
VisitConditionalExpression ( ConditionalExpression expression ) : Expression
VisitExtensionExpression ( Remotion.Linq.Clauses.Expressions.ExtensionExpression expression ) : Expression
VisitMemberExpression ( MemberExpression expression ) : Expression
VisitSubQueryExpression ( Remotion.Linq.Clauses.Expressions.SubQueryExpression expression ) : Expression

Method Details

MemberExpressionJoinDetector() public method

public MemberExpressionJoinDetector ( IIsEntityDecider isEntityDecider, IJoiner joiner ) : System.Collections
isEntityDecider IIsEntityDecider
joiner IJoiner
return System.Collections

Transform() public method

public Transform ( Remotion.Linq.Clauses.Ordering ordering ) : void
ordering Remotion.Linq.Clauses.Ordering
return void

Transform() public method

public Transform ( ResultOperatorBase resultOperator ) : void
resultOperator ResultOperatorBase
return void

Transform() public method

public Transform ( Remotion.Linq.Clauses.SelectClause selectClause ) : void
selectClause Remotion.Linq.Clauses.SelectClause
return void

VisitConditionalExpression() protected method

protected VisitConditionalExpression ( ConditionalExpression expression ) : Expression
expression System.Linq.Expressions.ConditionalExpression
return System.Linq.Expressions.Expression

VisitExtensionExpression() protected method

protected VisitExtensionExpression ( Remotion.Linq.Clauses.Expressions.ExtensionExpression expression ) : Expression
expression Remotion.Linq.Clauses.Expressions.ExtensionExpression
return System.Linq.Expressions.Expression

VisitMemberExpression() protected method

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

VisitSubQueryExpression() protected method

protected VisitSubQueryExpression ( Remotion.Linq.Clauses.Expressions.SubQueryExpression expression ) : Expression
expression Remotion.Linq.Clauses.Expressions.SubQueryExpression
return System.Linq.Expressions.Expression