C# Class IQ.Data.QueryBinder

Converts LINQ query operators to into custom DbExpression's
Inheritance: DbExpressionVisitor
Show file Open project: maravillas/linq-to-delicious

Public Methods

Method Description
Bind ( QueryMapping mapping, Expression expression ) : Expression

Protected Methods

Method Description
BindGroupBy ( Expression source, LambdaExpression keySelector, LambdaExpression elementSelector, LambdaExpression resultSelector ) : Expression
BindJoin ( Type resultType, Expression outerSource, Expression innerSource, LambdaExpression outerKey, LambdaExpression innerKey, LambdaExpression resultSelector ) : Expression
BindOrderBy ( Type resultType, Expression source, LambdaExpression orderSelector, OrderType orderType ) : Expression
BindSelectMany ( Type resultType, Expression source, LambdaExpression collectionSelector, LambdaExpression resultSelector ) : Expression
BindThenBy ( Expression source, LambdaExpression orderSelector, OrderType orderType ) : Expression
Visit ( Expression exp ) : Expression
VisitConstant ( ConstantExpression c ) : Expression
VisitInvocation ( InvocationExpression iv ) : Expression
VisitMemberAccess ( MemberExpression m ) : Expression
VisitMethodCall ( MethodCallExpression m ) : Expression
VisitParameter ( System.Linq.Expressions.ParameterExpression p ) : Expression

Private Methods

Method Description
BindAggregate ( Expression source, MethodInfo method, LambdaExpression argument, bool isRoot ) : Expression
BindAnyAll ( Expression source, MethodInfo method, LambdaExpression predicate, bool isRoot ) : Expression
BindContains ( Expression source, Expression match, bool isRoot ) : Expression
BindDistinct ( Expression source ) : Expression
BindFirst ( Expression source, LambdaExpression predicate, string kind, bool isRoot ) : Expression
BindMember ( Expression source, MemberInfo member ) : Expression
BindRelationshipProperty ( MemberExpression mex ) : Expression
BindSelect ( Type resultType, Expression source, LambdaExpression selector ) : Expression
BindSkip ( Expression source, Expression skip ) : Expression
BindTake ( Expression source, Expression take ) : Expression
BindWhere ( Type resultType, Expression source, LambdaExpression predicate ) : Expression
BuildPredicateWithNullsEqual ( IEnumerable source1, IEnumerable source2 ) : Expression
ConvertToSequence ( Expression expr ) : ProjectionExpression
GetAggregateType ( string methodName ) : AggregateType
GetDefault ( Type type ) : object
GetNextAlias ( ) : TableAlias
GetSingletonSequence ( Expression expr, string aggregator ) : Expression
HasPredicateArg ( AggregateType aggregateType ) : bool
IsQuery ( Expression expression ) : bool
MembersMatch ( MemberInfo a, MemberInfo b ) : bool
ProjectColumns ( Expression expression, TableAlias newAlias ) : ProjectedColumns
QueryBinder ( QueryMapping mapping, Expression root ) : System
StripQuotes ( Expression e ) : Expression
VisitSequence ( Expression source ) : ProjectionExpression

Method Details

Bind() public static method

public static Bind ( QueryMapping mapping, Expression expression ) : Expression
mapping QueryMapping
expression System.Linq.Expressions.Expression
return System.Linq.Expressions.Expression

BindGroupBy() protected method

protected BindGroupBy ( Expression source, LambdaExpression keySelector, LambdaExpression elementSelector, LambdaExpression resultSelector ) : Expression
source System.Linq.Expressions.Expression
keySelector System.Linq.Expressions.LambdaExpression
elementSelector System.Linq.Expressions.LambdaExpression
resultSelector System.Linq.Expressions.LambdaExpression
return System.Linq.Expressions.Expression

BindJoin() protected method

protected BindJoin ( Type resultType, Expression outerSource, Expression innerSource, LambdaExpression outerKey, LambdaExpression innerKey, LambdaExpression resultSelector ) : Expression
resultType System.Type
outerSource System.Linq.Expressions.Expression
innerSource System.Linq.Expressions.Expression
outerKey System.Linq.Expressions.LambdaExpression
innerKey System.Linq.Expressions.LambdaExpression
resultSelector System.Linq.Expressions.LambdaExpression
return System.Linq.Expressions.Expression

BindOrderBy() protected method

protected BindOrderBy ( Type resultType, Expression source, LambdaExpression orderSelector, OrderType orderType ) : Expression
resultType System.Type
source System.Linq.Expressions.Expression
orderSelector System.Linq.Expressions.LambdaExpression
orderType OrderType
return System.Linq.Expressions.Expression

BindSelectMany() protected method

protected BindSelectMany ( Type resultType, Expression source, LambdaExpression collectionSelector, LambdaExpression resultSelector ) : Expression
resultType System.Type
source System.Linq.Expressions.Expression
collectionSelector System.Linq.Expressions.LambdaExpression
resultSelector System.Linq.Expressions.LambdaExpression
return System.Linq.Expressions.Expression

BindThenBy() protected method

protected BindThenBy ( Expression source, LambdaExpression orderSelector, OrderType orderType ) : Expression
source System.Linq.Expressions.Expression
orderSelector System.Linq.Expressions.LambdaExpression
orderType OrderType
return System.Linq.Expressions.Expression

Visit() protected method

protected Visit ( Expression exp ) : Expression
exp System.Linq.Expressions.Expression
return System.Linq.Expressions.Expression

VisitConstant() protected method

protected VisitConstant ( ConstantExpression c ) : Expression
c System.Linq.Expressions.ConstantExpression
return System.Linq.Expressions.Expression

VisitInvocation() protected method

protected VisitInvocation ( InvocationExpression iv ) : Expression
iv System.Linq.Expressions.InvocationExpression
return System.Linq.Expressions.Expression

VisitMemberAccess() protected method

protected VisitMemberAccess ( MemberExpression m ) : Expression
m System.Linq.Expressions.MemberExpression
return System.Linq.Expressions.Expression

VisitMethodCall() protected method

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

VisitParameter() protected method

protected VisitParameter ( System.Linq.Expressions.ParameterExpression p ) : Expression
p System.Linq.Expressions.ParameterExpression
return System.Linq.Expressions.Expression