C# Class IQ.Data.SingletonProjectionRewriter

Rewrites nested singleton projection into server-side joins
Inheritance: DbExpressionVisitor
Show file Open project: maravillas/linq-to-delicious

Public Methods

Method Description
Rewrite ( QueryLanguage language, Expression expression ) : Expression

Protected Methods

Method Description
VisitClientJoin ( ClientJoinExpression join ) : Expression
VisitProjection ( ProjectionExpression proj ) : Expression
VisitSubquery ( SubqueryExpression subquery ) : Expression

Private Methods

Method Description
CanJoinOnServer ( SelectExpression select ) : bool
SingletonProjectionRewriter ( QueryLanguage language ) : System

Method Details

Rewrite() public static method

public static Rewrite ( QueryLanguage language, Expression expression ) : Expression
language QueryLanguage
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

VisitProjection() protected method

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

VisitSubquery() protected method

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