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
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
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