C# Class LinqKit.ExpressionExpander

Custom expresssion visitor for ExpandableQuery. This expands calls to Expression.Compile() and collapses captured lambda references in subqueries which LINQ to SQL can't otherwise handle.
Inheritance: ExpressionVisitor
显示文件 Open project: scottksmith95/LINQKit Class Usage Examples

Protected Methods

Method Description
VisitInvocation ( InvocationExpression iv ) : Expression

Flatten calls to Invoke so that Entity Framework can understand it. Calls to Invoke are generated by PredicateBuilder.

VisitMemberAccess ( MemberExpression m ) : Expression
VisitMethodCall ( MethodCallExpression m ) : Expression
VisitParameter ( System.Linq.Expressions.ParameterExpression p ) : Expression

Private Methods

Method Description
ExpressionExpander ( ) : System
ExpressionExpander ( Expression>.Dictionary replaceVars ) : System
TransformExpr ( MemberExpression input ) : Expression
TryVisitExpressionFunc ( MemberExpression input, FieldInfo field ) : Expression

Method Details

VisitInvocation() protected method

Flatten calls to Invoke so that Entity Framework can understand it. Calls to Invoke are generated by PredicateBuilder.
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