Click or drag to resize

RequiredProjectionCorrector Class

Specific expression handler which detects all instances which will be forced to become a query but aren't defined as such. The elements which fall into this category are moved where/orderby clauses which are locked in place and which are the element of a join side without a projection. This means that when they're handled, they'll be converted to a query, which then enforces a scope, however this scope is unknown to the rest of the system and the AliasScoper, so aliases wrapped into this scope are seen as part of the outer scope and the resulting query will fail. This class is used in the alias scoper after join trees have been rewritten by extracting where / order by clauses. This visitor flags when it's in a join side and from then on will set RequiresProjection to true for all where/orderby expressions. When it sees an expression with RequiresProjection set to true, it will stop correcting till it again is in a join side.
Inheritance Hierarchy
SystemObject
  SD.LLBLGen.Pro.LinqSupportClasses.ExpressionHandlersGenericExpressionHandler
    SD.LLBLGen.Pro.LinqSupportClasses.ExpressionHandlersRequiredProjectionCorrector

Namespace:  SD.LLBLGen.Pro.LinqSupportClasses.ExpressionHandlers
Assembly:  SD.LLBLGen.Pro.ORMSupportClasses (in SD.LLBLGen.Pro.ORMSupportClasses.dll) Version: 5.11.0.0 (5.11.23.1114)
Syntax
public class RequiredProjectionCorrector : GenericExpressionHandler

The RequiredProjectionCorrector type exposes the following members.

Constructors
  NameDescription
Public methodRequiredProjectionCorrector
Initializes a new instance of the RequiredProjectionCorrector class.
Top
Properties
  NameDescription
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.)
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.)
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 methodHandleArrayIndexExpression
Handles the ArrayIndex 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.
(Inherited from GenericExpressionHandler.)
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.
(Overrides GenericExpressionHandlerHandleExpression(Expression).)
Protected methodHandleExpressionList
Handles the expression list.
(Inherited from GenericExpressionHandler.)
Protected methodHandleFilterExpression
Handles the filter expression specified
(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.
(Inherited from GenericExpressionHandler.)
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 methodHandlePlainSQLExpression
Handles the plain sql expression specified.
(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.
(Inherited from GenericExpressionHandler.)
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