C# 클래스 Signum.Engine.Linq.MetadataVisitor

QueryBinder is a visitor that converts method calls to LINQ operations into custom DbExpression nodes and references to class members into references to columns
상속: Signum.Utilities.ExpressionTrees.SimpleExpressionVisitor
파일 보기 프로젝트 열기: signumsoftware/framework 1 사용 예제들

공개 메소드들

메소드 설명
AggregateImplementations ( IEnumerable implementations ) : Implementations
AsProjection ( Expression expression ) : MetaProjectorExpression
TableType ( object value ) : Type
Visit ( Expression exp ) : 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
VisitBinary ( BinaryExpression b ) : Expression
VisitConditional ( ConditionalExpression c ) : Expression
VisitConstant ( ConstantExpression c ) : Expression
VisitMember ( MemberExpression m ) : Expression
VisitMethodCall ( MethodCallExpression m ) : Expression
VisitParameter ( System.Linq.Expressions.ParameterExpression p ) : Expression
VisitTypeBinary ( TypeBinaryExpression b ) : Expression
VisitUnary ( UnaryExpression u ) : Expression

비공개 메소드들

메소드 설명
BindAggregate ( Type resultType, AggregateFunction aggregateFunction, Expression source, LambdaExpression selector ) : Expression
BindAll ( Type resultType, Expression source, LambdaExpression predicate ) : Expression
BindAny ( Type resultType, Expression source ) : Expression
BindContains ( Type resultType, Expression source, Expression item ) : Expression
BindCount ( Type resultType, Expression source ) : Expression
BindDistinct ( Type resultType, Expression source ) : Expression
BindGroupBy ( Type resultType, Expression source, LambdaExpression keySelector, LambdaExpression elementSelector ) : Expression
BindMember ( Expression source, MemberInfo member, Type memberType ) : Expression
BindSelect ( Type resultType, Expression source, LambdaExpression selector ) : Expression
BindSkip ( Type resultType, Expression source, Expression count ) : Expression
BindTake ( Type resultType, Expression source, Expression count ) : Expression
BindUniqueRow ( Type resultType, UniqueFunction function, Expression source, LambdaExpression predicate ) : Expression
BindWhere ( Type resultType, Expression source, LambdaExpression predicate ) : Expression
CastImplementations ( Implementations implementations, Type cleanType ) : Implementations
GatherMetadata ( Expression expression ) : Meta>.Dictionary
GetImplementations ( PropertyRoute propertyRoutes, Type cleanType ) : Entities.Implementations?
JustVisit ( LambdaExpression expression, MetaExpression metaExpression ) : Expression
MakeCleanMeta ( Type type, Expression expression ) : MetaExpression
MakeDirtyMeta ( Type type, Implementations implementations ) : MetaExpression
MakeVoidMeta ( Type type ) : Expression
MapAndVisit ( LambdaExpression lambda ) : Expression
MetadataVisitor ( ) : System

메소드 상세

AggregateImplementations() 공개 정적인 메소드

public static AggregateImplementations ( IEnumerable implementations ) : Implementations
implementations IEnumerable
리턴 Implementations

AsProjection() 공개 정적인 메소드

public static AsProjection ( Expression expression ) : MetaProjectorExpression
expression System.Linq.Expressions.Expression
리턴 MetaProjectorExpression

BindJoin() 보호된 메소드

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
리턴 System.Linq.Expressions.Expression

BindOrderBy() 보호된 메소드

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
리턴 System.Linq.Expressions.Expression

BindSelectMany() 보호된 메소드

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
리턴 System.Linq.Expressions.Expression

BindThenBy() 보호된 메소드

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

TableType() 공개 메소드

public TableType ( object value ) : Type
value object
리턴 System.Type

Visit() 공개 메소드

public Visit ( Expression exp ) : Expression
exp System.Linq.Expressions.Expression
리턴 System.Linq.Expressions.Expression

VisitBinary() 보호된 메소드

protected VisitBinary ( BinaryExpression b ) : Expression
b System.Linq.Expressions.BinaryExpression
리턴 System.Linq.Expressions.Expression

VisitConditional() 보호된 메소드

protected VisitConditional ( ConditionalExpression c ) : Expression
c System.Linq.Expressions.ConditionalExpression
리턴 System.Linq.Expressions.Expression

VisitConstant() 보호된 메소드

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

VisitMember() 보호된 메소드

protected VisitMember ( MemberExpression m ) : Expression
m System.Linq.Expressions.MemberExpression
리턴 System.Linq.Expressions.Expression

VisitMethodCall() 보호된 메소드

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

VisitParameter() 보호된 메소드

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

VisitTypeBinary() 보호된 메소드

protected VisitTypeBinary ( TypeBinaryExpression b ) : Expression
b System.Linq.Expressions.TypeBinaryExpression
리턴 System.Linq.Expressions.Expression

VisitUnary() 보호된 메소드

protected VisitUnary ( UnaryExpression u ) : Expression
u System.Linq.Expressions.UnaryExpression
리턴 System.Linq.Expressions.Expression