C# Class IQ.Data.UnusedColumnRemover

Removes column declarations in SelectExpression's that are not referenced
Inheritance: DbExpressionVisitor
ファイルを表示 Open project: maravillas/linq-to-delicious

Public Methods

Method Description
Remove ( Expression expression ) : Expression

Protected Methods

Method Description
VisitClientJoin ( ClientJoinExpression join ) : Expression
VisitColumn ( ColumnExpression column ) : Expression
VisitJoin ( JoinExpression join ) : Expression
VisitProjection ( ProjectionExpression projection ) : Expression
VisitSelect ( SelectExpression select ) : Expression
VisitSubquery ( SubqueryExpression subquery ) : Expression

Private Methods

Method Description
ClearColumnsUsed ( TableAlias alias ) : void
IsColumnUsed ( TableAlias alias, string name ) : bool
MarkColumnAsUsed ( TableAlias alias, string name ) : void
UnusedColumnRemover ( ) : System

Method Details

Remove() public static method

public static Remove ( Expression expression ) : Expression
expression System.Linq.Expressions.Expression
return System.Linq.Expressions.Expression

VisitClientJoin() protected method

protected VisitClientJoin ( ClientJoinExpression join ) : Expression
join ClientJoinExpression
return System.Linq.Expressions.Expression

VisitColumn() protected method

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

VisitJoin() protected method

protected VisitJoin ( JoinExpression join ) : Expression
join JoinExpression
return System.Linq.Expressions.Expression

VisitProjection() protected method

protected VisitProjection ( ProjectionExpression projection ) : Expression
projection ProjectionExpression
return System.Linq.Expressions.Expression

VisitSelect() protected method

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

VisitSubquery() protected method

protected VisitSubquery ( SubqueryExpression subquery ) : Expression
subquery SubqueryExpression
return System.Linq.Expressions.Expression