Flexberry ORM 8.0.0-beta01
Класс ICSSoft.STORMNET.Business.LINQProvider.LcsGeneratorExpressionTreeVisitorCommon

Visitor, который обходит распарсенноое дерево (в большинстве случаев подходит эта реализация). Подробнее...

Граф наследования:ICSSoft.STORMNET.Business.LINQProvider.LcsGeneratorExpressionTreeVisitorCommon:
ICSSoft.STORMNET.Business.LINQProvider.LcsGeneratorExpressionTreeVisitorBase ICSSoft.STORMNET.Business.LINQProvider.IExpressionTreeVisitor

Открытые члены

 LcsGeneratorExpressionTreeVisitorCommon (TreeVisitorStacksHolder stacksHolder)
 Конструктор класса LcsGeneratorExpressionTreeVisitorCommon. Подробнее...
 
 LcsGeneratorExpressionTreeVisitorCommon (bool viewIsDynamic, View view, IEnumerable< View > resolvingViews)
 Конструктор класса LcsGeneratorExpressionTreeVisitorCommon. Подробнее...
 
override IQueryModelVisitor GetQueryModelVisitor (bool viewIsDynamic, View view, IEnumerable< View > resolvingViews)
 Создать экземпляр visitor'а для обработки запроса linq-выражения для LcsQueryProvider<T,Q>. Подробнее...
 
override Function GetLcsExpression (Expression linqExpression)
 Получить функцию ограничения для LoadingCustomizationStruct. Подробнее...
 
- Открытые члены унаследованные от ICSSoft.STORMNET.Business.LINQProvider.LcsGeneratorExpressionTreeVisitorBase
 LcsGeneratorExpressionTreeVisitorBase (TreeVisitorStacksHolder stacksHolder)
 Конструктор класса LcsGeneratorExpressionTreeVisitorCommon. Подробнее...
 
Function GetLcsExpression ()
 Получение сформированного lcs (берётся из стека). Подробнее...
 
Expression CreatePseudoDetailQuery< T > (LambdaExpression lambdaExpression)
 Создаём lcs для ограничения на псевдодетейл. Делается это так: создаётся запрос к объекту типа псевдодетейл и получается lcs, откуда берётся правильная функция ограничения. Подробнее...
 

Защищенные члены

override Expression VisitSubQuery (SubQueryExpression expression)
 Обход подзапроса в дереве выражения. Подробнее...
 
override Expression VisitMember (MemberExpression expression)
 Обход элемента в дереве выражения, соответствующему свойству элемента. Подробнее...
 
- Защищенные члены унаследованные от ICSSoft.STORMNET.Business.LINQProvider.LcsGeneratorExpressionTreeVisitorBase
 LcsGeneratorExpressionTreeVisitorBase (bool viewIsDynamic, View view, IEnumerable< View > resolvingViews)
 Конструктор класса LcsGeneratorExpressionTreeVisitorCommon. Подробнее...
 
override Expression VisitUnary (UnaryExpression expression)
 Обход унарной операции в дереве выражения. Подробнее...
 
override Expression VisitSubQuery (SubQueryExpression expression)
 Обход подзапроса в дереве выражения. Подробнее...
 
Expression VisitSubQueryExpressionHelper (SubQueryExpression expression)
 Вспомогательный метод, содержащий общую обработку VisitSubQueryExpression, используемую в потомках. Подробнее...
 
override Expression VisitConditional (ConditionalExpression expression)
 Обработка выражения вида IIF(Condition, IfTrue, IfFalse). Подробнее...
 
override Expression VisitBinary (BinaryExpression expression)
 Обход бинарной операции в дереве выражения. Подробнее...
 
override Expression VisitQuerySourceReference (QuerySourceReferenceExpression expression)
 
override Expression VisitMember (MemberExpression expression)
 Обход элемента в дереве выражения, соответствующему свойству элемента. Подробнее...
 
Expression VisitMemberExpressionHelper (MemberExpression expression)
 Вспомогательный метод, содержащий общую обработку VisitMemberExpressionHelper, используемую в потомках. Подробнее...
 
override Expression VisitConstant (ConstantExpression expression)
 Обход константы в дереве выражения. Подробнее...
 
override Expression VisitMethodCall (MethodCallExpression expression)
 Обход вызова метода в дереве выражения. Подробнее...
 
override Exception CreateUnhandledItemException< T > (T unhandledItem, string visitMethod)
 

Дополнительные унаследованные члены

- Защищенные данные унаследованные от ICSSoft.STORMNET.Business.LINQProvider.LcsGeneratorExpressionTreeVisitorBase
readonly global::ICSSoft.STORMNET.Windows.Forms.ExternalLangDef _ldef = global::ICSSoft.STORMNET.Windows.Forms.ExternalLangDef.LanguageDef
 Описание языка для построения lcs. Подробнее...
 
TreeVisitorStacksHolder _stacksHolder
 Элемент для организации стека. Подробнее...
 

Подробное описание

Visitor, который обходит распарсенноое дерево (в большинстве случаев подходит эта реализация).

Конструктор(ы)

◆ LcsGeneratorExpressionTreeVisitorCommon() [1/2]

ICSSoft.STORMNET.Business.LINQProvider.LcsGeneratorExpressionTreeVisitorCommon.LcsGeneratorExpressionTreeVisitorCommon ( TreeVisitorStacksHolder  stacksHolder)
inline

Конструктор класса LcsGeneratorExpressionTreeVisitorCommon.

Аргументы
stacksHolderЭлемент, организующий стек.

◆ LcsGeneratorExpressionTreeVisitorCommon() [2/2]

ICSSoft.STORMNET.Business.LINQProvider.LcsGeneratorExpressionTreeVisitorCommon.LcsGeneratorExpressionTreeVisitorCommon ( bool  viewIsDynamic,
View  view,
IEnumerable< View >  resolvingViews 
)
inline

Конструктор класса LcsGeneratorExpressionTreeVisitorCommon.

Аргументы
viewIsDynamicЯвляется ли представление динамическим (формируется во время разбора выражения).
viewПредставление (в случае динамического представления может быть передано пустое представление, у которого задан только тип).
resolvingViewsПредставления мастеров, нужные для получения их детейлов (в случае динамических представлений null).

Методы

◆ GetLcsExpression()

override Function ICSSoft.STORMNET.Business.LINQProvider.LcsGeneratorExpressionTreeVisitorCommon.GetLcsExpression ( Expression  linqExpression)
inlinevirtual

Получить функцию ограничения для LoadingCustomizationStruct.

Аргументы
linqExpressionLinq-выражение, для которого необходимо получить функцию ограничения.
Возвращает
Функция ограничения для LoadingCustomizationStruct.

Замещает ICSSoft.STORMNET.Business.LINQProvider.LcsGeneratorExpressionTreeVisitorBase.

◆ GetQueryModelVisitor()

override IQueryModelVisitor ICSSoft.STORMNET.Business.LINQProvider.LcsGeneratorExpressionTreeVisitorCommon.GetQueryModelVisitor ( bool  viewIsDynamic,
View  view,
IEnumerable< View >  resolvingViews 
)
inlinevirtual

Создать экземпляр visitor'а для обработки запроса linq-выражения для LcsQueryProvider<T,Q>.

Аргументы
viewIsDynamicДинамически создавать представление.
viewПредставление, если было указано.
resolvingViewsПредставления мастеров, необходимые для получения их детейлов, в случае динамических представлений.
Возвращает
Экземпляр visitor'а для обработки запроса linq-выражения для LcsQueryProvider<T,Q>.

Замещает ICSSoft.STORMNET.Business.LINQProvider.LcsGeneratorExpressionTreeVisitorBase.

◆ VisitMember()

override Expression ICSSoft.STORMNET.Business.LINQProvider.LcsGeneratorExpressionTreeVisitorCommon.VisitMember ( MemberExpression  expression)
inlineprotected

Обход элемента в дереве выражения, соответствующему свойству элемента.

Аргументы
expressionВыражение, соответствующему свойству элемента.
Возвращает
Фактически возвращается то же выражение, но при этом в стеке появляются необходимые данные.

◆ VisitSubQuery()

override Expression ICSSoft.STORMNET.Business.LINQProvider.LcsGeneratorExpressionTreeVisitorCommon.VisitSubQuery ( SubQueryExpression  expression)
inlineprotected

Обход подзапроса в дереве выражения.

Аргументы
expressionВыражение-подзапрос.
Возвращает
Фактически возвращается то же выражение-подзапрос, но при этом в стеке появляется необходимая lcs.