C# Class IQ.Data.SubqueryRemover

Removes one or more SelectExpression's by rewriting the expression tree to not include them, promoting their from clause expressions and rewriting any column expressions that may have referenced them to now reference the underlying data directly.
Inheritance: DbExpressionVisitor
ファイルを表示 Open project: maravillas/linq-to-delicious

Public Methods

Method Description
Remove ( ProjectionExpression projection ) : ProjectionExpression
Remove ( ProjectionExpression projection, IEnumerable selectsToRemove ) : ProjectionExpression
Remove ( SelectExpression outerSelect ) : SelectExpression
Remove ( SelectExpression outerSelect, IEnumerable selectsToRemove ) : SelectExpression

Protected Methods

Method Description
VisitColumn ( ColumnExpression column ) : Expression
VisitSelect ( SelectExpression select ) : Expression

Private Methods

Method Description
SubqueryRemover ( IEnumerable selectsToRemove ) : System

Method Details

Remove() public static method

public static Remove ( ProjectionExpression projection ) : ProjectionExpression
projection ProjectionExpression
return ProjectionExpression

Remove() public static method

public static Remove ( ProjectionExpression projection, IEnumerable selectsToRemove ) : ProjectionExpression
projection ProjectionExpression
selectsToRemove IEnumerable
return ProjectionExpression

Remove() public static method

public static Remove ( SelectExpression outerSelect ) : SelectExpression
outerSelect SelectExpression
return SelectExpression

Remove() public static method

public static Remove ( SelectExpression outerSelect, IEnumerable selectsToRemove ) : SelectExpression
outerSelect SelectExpression
selectsToRemove IEnumerable
return SelectExpression

VisitColumn() protected method

protected VisitColumn ( ColumnExpression column ) : Expression
column ColumnExpression
return System.Linq.Expressions.Expression

VisitSelect() protected method

protected VisitSelect ( SelectExpression select ) : Expression
select SelectExpression
return System.Linq.Expressions.Expression