C# Class Shaolinq.Persistence.Linq.Optimizers.SqlProjectionSelectExpander

Inheritance: SqlExpressionVisitor
ファイルを表示 Open project: tumtumtum/Shaolinq

Public Methods

Method Description
Expand ( Expression expression ) : Expression

Protected Methods

Method Description
RewriteExplicitJoinProjection ( MethodCallExpression methodCallExpression ) : Expression

Translates Joins from type (1) to type (2) 1) Join(outer, inner, c => c.outerKey, c => d.innerKey, (x, y) => new { x.a.b.c, y.a.b.c }) 2) Join(outer, inner, c => c.outerKey, c => d.innerKey, (x, y) => new { x, y }).Select(c => new { c.x.a.b.c, c.y.a.b.v })

RewriteSelectManyProjection ( MethodCallExpression methodCallExpression ) : Expression
VisitMethodCall ( MethodCallExpression methodCallExpression ) : Expression

Method Details

Expand() public static method

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

RewriteExplicitJoinProjection() protected method

Translates Joins from type (1) to type (2) 1) Join(outer, inner, c => c.outerKey, c => d.innerKey, (x, y) => new { x.a.b.c, y.a.b.c }) 2) Join(outer, inner, c => c.outerKey, c => d.innerKey, (x, y) => new { x, y }).Select(c => new { c.x.a.b.c, c.y.a.b.v })
protected RewriteExplicitJoinProjection ( MethodCallExpression methodCallExpression ) : Expression
methodCallExpression System.Linq.Expressions.MethodCallExpression
return System.Linq.Expressions.Expression

RewriteSelectManyProjection() protected method

protected RewriteSelectManyProjection ( MethodCallExpression methodCallExpression ) : Expression
methodCallExpression System.Linq.Expressions.MethodCallExpression
return System.Linq.Expressions.Expression

VisitMethodCall() protected method

protected VisitMethodCall ( MethodCallExpression methodCallExpression ) : Expression
methodCallExpression System.Linq.Expressions.MethodCallExpression
return System.Linq.Expressions.Expression