Click or drag to resize

NonProjectionExpressionExtractor Class

Specific expression handler which extracts non-projection expressions from the expression passed in, if there's no projection in the branch currently traversed. This is necessary in complex join scenario's where a where or orderby expression in one side of the join could contain another join and the where/orderby has to be moved upwards instead of being part of the side of a join and therefore has to be extracted from that expression tree. The extracted expressions are stored in a single list to all be handled and merged with the expression containing the expression passed in, and the expression the expressions are extracted from is stripped from these expressions. Not all where expressions are extracted: If a GroupJoin's Right side or DefaultIfEmpty is seen, keep the where clauses. Currently extracted expressions: WhereExpression, SortClauseExpression.
Inheritance Hierarchy
SystemObject
  SD.LLBLGen.Pro.LinqSupportClasses.ExpressionHandlersGenericExpressionHandler
    SD.LLBLGen.Pro.LinqSupportClasses.ExpressionHandlersNonProjectionExpressionExtractor

Namespace:  SD.LLBLGen.Pro.LinqSupportClasses.ExpressionHandlers
Assembly:  SD.LLBLGen.Pro.ORMSupportClasses (in SD.LLBLGen.Pro.ORMSupportClasses.dll) Version: 5.5.0.0 (5.5.18.1019)
Syntax
public class NonProjectionExpressionExtractor : GenericExpressionHandler

The NonProjectionExpressionExtractor type exposes the following members.

Constructors
  NameDescription
Public methodNonProjectionExpressionExtractor
Initializes a new instance of the NonProjectionExpressionExtractor class.
Top
Properties
  NameDescription
Public propertyExtractAllWhereClauses
Gets or sets a value indicating whether [extract all where clauses]. If set to false (default), only the where clauses which are NOT referred by (indirectly)a DefaultIfEmpty or rightside of a groupjoin are extracted (if enabled)
Public propertyExtractedExpressions
Gets the extracted expressions, if any.
Public propertyExtractSortClauses
Gets or sets a value indicating whether [extract sort clauses]. Default true
Public propertyExtractWhereClauses
Gets or sets a value indicating whether [extract where clauses]. Default true
Protected propertyFrameworkElementCreator
Gets the framework element creator.
(Inherited from GenericExpressionHandler.)
Protected propertyFunctionMappings
Gets the function mappings.
(Inherited from GenericExpressionHandler.)
Protected propertyGeneratedCodeElementCreator
Gets the generated code element creator.
(Inherited from GenericExpressionHandler.)
Public propertySelectWithProjectionSeen
Gets a value indicating whether [select with projection seen].
Public propertyStopAtFirstJoin
Gets or sets a value indicating whether [stop at first join]. Default false
Protected propertyTrackedMappings
Gets the mappings of various objects defined during the process operations of the expression tree.
(Inherited from GenericExpressionHandler.)
Top
Methods
  NameDescription
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodExtractExpressions
Extracts the expressions, if any.
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFindFunctionMapping(MemberInfo)
Finds the function mapping associated with the property specified.
(Inherited from GenericExpressionHandler.)
Public methodFindFunctionMapping(MethodInfo)
Finds the function mapping associated with the method/function specified.
(Inherited from GenericExpressionHandler.)
Protected methodFindFunctionMapping(String, Type, Int32)
Finds the function mapping associated with the method/function specified.
(Inherited from GenericExpressionHandler.)
Protected methodFindGroupJoinExpressionAsCopy
Finds the group join expression using the alias of the right side. It then creates a copy of it (and its contents) so the caller can manipulate it.
(Inherited from GenericExpressionHandler.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodHandleAggregateExpression
Handles the aggregate expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleAllAnyExpression
Handles all any expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleBinaryExpression
Handles the binary expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleBinaryExpressionArithmeticOrBitOperator
Handles the binary expression with arithmetic or bit operator.
(Inherited from GenericExpressionHandler.)
Protected methodHandleBinaryExpressionBooleanOperator
Handles the binary expression with a boolean operator.
(Inherited from GenericExpressionHandler.)
Protected methodHandleConditionalExpression
Handles the conditional expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleConstantExpression
Handles the constant expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleContainsExpression
Handles the contains expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleDbFunctionCallExpression
Handles the db function call expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleDefaultIfEmptyExpression
Handles the default if empty expression.
(Overrides GenericExpressionHandlerHandleDefaultIfEmptyExpression(DefaultIfEmptyExpression).)
Protected methodHandleElementInitializer
Handles the element initializer.
(Inherited from GenericExpressionHandler.)
Protected methodHandleElementInitializerList
Handles the element initializer list.
(Inherited from GenericExpressionHandler.)
Protected methodHandleEntityExpression
Handles the entity expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleEntityFieldExpression
Handles the entity field expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleExceptIntersectExpression
Handles the except expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleExcludeIncludeFieldsExpression
Handles the exclude include fields expression.
(Inherited from GenericExpressionHandler.)
Public methodHandleExpression
Handles the expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleExpressionList
Handles the expression list.
(Inherited from GenericExpressionHandler.)
Protected methodHandleGroupByExpression
Handles the group by expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleGroupByKeyReferenceExpression
Handles the group by key reference expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleGroupJoinExpression
Handles the groupjoin expression.
(Overrides GenericExpressionHandlerHandleGroupJoinExpression(GroupJoinExpression).)
Protected methodHandleInClauseExpression
Handles the in clause expression, which is an expression representing a call to Contains on a list of values.
(Inherited from GenericExpressionHandler.)
Protected methodHandleInMemoryEvalCandidateExpression
Handles the in memory eval candidate expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleInvocationExpression
Handles the invocation expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleJoinExpression
Handles the join expression.
(Overrides GenericExpressionHandlerHandleJoinExpression(JoinExpression).)
Protected methodHandleJoinResultExpression
Handles the JoinResult expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleLambdaExpression
Handles the lambda expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleLikeExpression
Handles the like expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleLinqExpressionAsSetExpression
Handles the LinqExpression as set expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleListInitExpression
Handles the list init expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleLLBLGenProExpressionExpression
Handles the LLBLGenProExpressionExpression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleMemberAssignment
Handles the member assignment.
(Inherited from GenericExpressionHandler.)
Protected methodHandleMemberBinding
Handles the member binding.
(Inherited from GenericExpressionHandler.)
Protected methodHandleMemberBindingList
Handles the member binding list.
(Inherited from GenericExpressionHandler.)
Protected methodHandleMemberExpression
Handles the member expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleMemberInitExpression
Handles the member init expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleMemberListBinding
Handles the member list binding.
(Inherited from GenericExpressionHandler.)
Protected methodHandleMemberMemberBinding
Handles the member member binding.
(Inherited from GenericExpressionHandler.)
Protected methodHandleMethodCallExpression
Handles the method call expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleNewArrayExpression
Handles the new array expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleNewExpression
Handles the NewExpression expression
(Inherited from GenericExpressionHandler.)
Protected methodHandleParameterExpression
Handles the parameter expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandlePathEdgeExpression
Handles the path edge expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandlePrefetchPathExpression
Handles the prefetch path expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleProjectionExpression
Handles the projection expression
(Inherited from GenericExpressionHandler.)
Protected methodHandleQueryExpression
Handles the query expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleSelectExpression
Handles the select expression.
(Overrides GenericExpressionHandlerHandleSelectExpression(SelectExpression).)
Protected methodHandleSetReferenceExpression
Handles the set reference expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleSortClauseExpression
Handles the sort clause expression.
(Overrides GenericExpressionHandlerHandleSortClauseExpression(SortClauseExpression).)
Protected methodHandleTypeBinaryExpression
Handles the type binary expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleTypedViewExpression
Handles the typed view expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleUnaryArrayLength
Handles the length of the unary array.
(Inherited from GenericExpressionHandler.)
Protected methodHandleUnaryConvertExpression
Handles the unary convert expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleUnaryExpression
Handles the unary expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleUnaryNotExpression
Handles the unary expression of type 'Not'.
(Inherited from GenericExpressionHandler.)
Protected methodHandleUnaryTypeAsExpression
Handles the unary type as expression.
(Inherited from GenericExpressionHandler.)
Protected methodHandleUnionList
Handles the specified unionlist and its contained set expressions. Will return a new list if one or more set expressions changed after handling.
(Inherited from GenericExpressionHandler.)
Protected methodHandleWhereExpression
Handles the where expression.
(Overrides GenericExpressionHandlerHandleWhereExpression(WhereExpression).)
Protected methodMakeSet
Converts the expression passed in to a SetExpression, if it's not already a set.
(Inherited from GenericExpressionHandler.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Protected methodTraceLine
Traces the line.
(Inherited from GenericExpressionHandler.)
Protected methodTraceScopeEnd
Traces the scope end.
(Inherited from GenericExpressionHandler.)
Protected methodTraceScopeStart
Traces the scope start.
(Inherited from GenericExpressionHandler.)
Top
See Also