Click or drag to resize

MappingTracker Class

Class which is used to store various mappings between objects in various formats. These mappings are used to find back the aliases for objects, objects tied to aliases, etc. etc.
Inheritance Hierarchy
SystemObject
  SD.LLBLGen.Pro.LinqSupportClassesMappingTracker

Namespace:  SD.LLBLGen.Pro.LinqSupportClasses
Assembly:  SD.LLBLGen.Pro.ORMSupportClasses (in SD.LLBLGen.Pro.ORMSupportClasses.dll) Version: 5.9.0.0 (5.9.0)
Syntax
public class MappingTracker

The MappingTracker type exposes the following members.

Constructors
  NameDescription
Public methodMappingTracker(Boolean)
Initializes a new instance of the MappingTracker class.
Public methodMappingTracker(Boolean, Boolean)
Initializes a new instance of the MappingTracker class.
Top
Properties
  NameDescription
Public propertyCacheDuration
Gets or sets the duration of the cache.
Public propertyCacheResultset
Gets or sets a value indicating whether [cache resultset].
Public propertyCacheTag
Gets or sets the tag the resultset should be cached under. By default this is the empty string (no tag)
Public propertyCreatedDerivedTables
Gets the list of created derived tables.
Public propertyFromToAliasesForDefaultIfEmptysFound
Gets the list of from-to alias pairs for DefaultIfEmpty expressions found which will be replaced with a set with a different alias This list is used to correct elements which refer to the DefaultIfEmpty's alias.
Public propertyOverwriteIfPresent
Gets or sets a value indicating whether [overwrite if present].
Public propertyQueryTag
Gets or sets the optional tag for the SQL query/queries to relate SQL strings in an RDBMS with an origin. This is set in this tracker to be able to set the tag of the outer query.
Public propertyWithTies
Gets or sets the directive to use WITH TIES in a Take call if an order by is specified.
Top
Methods
  NameDescription
Public methodAddAliasContainerToKnownList
Adds the alias container to the list of known alias containers.
Public methodAddAliasForExpressionKey
Adds the alias for the expression key specified.
Public methodAddAliasMemberInfo(MemberInfo, SetAlias)
Adds the alias member info.
Public methodAddAliasMemberInfo(MemberInfo, SetAlias, Boolean)
Adds the alias member info.
Public methodAddAliasObjectRelation
Adds the alias-object relation for an aliased llblgen pro object (entity, derived table) These combinations are necessary to find back an object based on a relation so new relations can be build with the same object.
Public methodAddDefaultIfEmptySourceAlias
Adds the default if empty source alias for the default if empty alias specified. This is required to properly find back the real source if the element at hand is a defaultifempty alias.
Public methodAddDerivedTable
Adds the derived table.
Public methodAddDerivedTableFromGroupByQueryForGroupByAlias
Adds the derived table which is created from the queryexpression which was created from a group by with the groupByAlias passed in so we can find it back if we need to add a field to the derived table.
Public methodAddGroupJoinLeftSideAliasForGroupJoinAlias
Adds the alias of the left side of the group join with the alias specified to this tracker.
Public methodAddQueryExpressionInstanceForGroupByAlias
Adds the QueryExpression instance in the _queryFromGroupByPerAlias store for the alias set on the queryexpression.
Public methodAddQueryForGroupByAlias
Adds the query for group by alias.
Public methodAddQueryProjectionForAlias
Adds the projection of a query for the specified alias to the mappings. This is useful when we've a SetReferenceExpression which refers to a set with an alias and we need to obtain its projection (which is all we need from the referenced set anyway, the rest is already in the SetReferenceExpression.
Public methodAddRelationForParameter
Adds the relation which is (indirectly) determined from a navigaton from the parameter specified.
Public methodAddRenamedFieldInProjectionWithNewName
Adds the specified field (which has to have its original name and alias) with its new name, which was assigned as an alias to the field due to a name clash / duplicate situation in a projection.
Public methodBeginPreprocessorScope
Begins the preprocessor scope. Preprocessor scopes are for assigning multiple aliases to the same member or other object, and obtaining an already assigned alias for a member or other object if it's in scope.
Public methodCheckIfIsKnownPlainSqlExpression
Checks whether the specified type is a known type used with a plain sql expression. It has been handled properly and assigned an alias so it is a known set.
Public methodCheckIfIsKnownTypedViewType
Checks whether the specified type is a known typedview type, i.e. a type which has been handled properly inside a query as it then has been assigned an alias.
Public methodCreateNewAlias
Creates a new SetAlias.
Public methodEndPreprocessorScope
Ends the preprocessor scope.
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 methodFindAliasedObject
Finds the aliased LLBLGen Pro object with the alias string specified. The object is part of a join, and the alias is originating from a field which refers to elements in a source (e.g. join)
Public methodFindDefaultIfEmptySourceAliasForDefaultIfEmptyAlias(String)
Finds the default if empty source alias for default if empty alias.
Public methodFindDefaultIfEmptySourceAliasForDefaultIfEmptyAlias(SetAlias)
Finds the default if empty source alias for default if empty alias.
Public methodFindDerivedTableFromGroupByQuery
Finds the derived table object which was created from the queryexpression which was created from the groupby with the alias specified. Used to add aggregate fields to the derived table, which are added later on to the groupby.
Public methodFindGroupByExpression
Finds the group by expression represented by the alias passed in.
Public methodFindGroupJoinExpression(Type)
Finds the group join expression associated with the anonymous type specified
Public methodFindGroupJoinExpression(SetAlias)
Finds the group join expression based on the alias of the right side of the group join.
Public methodFindGroupJoinLeftSideAlias
Returns the alias of the left side of the group join with the alias specified or null if not found.
Public methodFindObjectAlias(MemberInfo)
Finds the object alias for the member info specified. This is the alias assigned to the set which is represented by the memberinfo passed in which is a memberinfo on an anonymous type created in a Join expression as the result of the join.
Public methodFindObjectAlias(ParameterExpression, Boolean)
Finds the object alias for the parameter specified. This is the alias assigned to the set which is represented by the type specified by the parameter passed in. If the parameter was a parameter of a selector of a side in a join expression, this parameter has the alias for the side it represented.
Public methodFindObjectAlias(MemberInfo, String, Boolean)
Finds the object alias for the member info specified. This is the alias assigned to the set which is represented by the memberinfo passed in which is a memberinfo on an anonymous type created in a Join expression as the result of the join.
Public methodFindProjectionExpression
Finds the projection expression of the set with the alias specified.
Public methodFindQueryExpressionFromGroupBy
Finds the QueryExpression object which was the result of the conversion of the GroupBy expression referenced by the alias specified. This routine is used to obtain a hold of a groupby to modify its query contents when the query is referenced by in an aggregate.
Public methodFindRealObjectAlias
Returns the real alias for the member info specified, from the top scope to the bottom, and ignores scope rules. It will return the first matching real alias, without checking whether the alias is in scope.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetNewFieldNameForRenamedField
Determines if the field specified with its original object alias was renamed (and thus tracked by this mapping tracker). If so, it will return the new name of the specified field. If not, it will return the field alias of the field object specified.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIsAliasToDerivedTable
Determines whether the passed in alias is an alias of a created derived table.
Public methodIsAliasToGroupBy
Returns true if the alias specified is an alias for a groupby expression.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodObtainRegisteredRelationsForParameter
Obtains the registered relations for parameter. These are relations which are successfully registered through AddRelationForParameter, thus relations which are results of navigations away form a parameter.
Public methodPopAliasContainer
Pops the alias container from the stack of active alias containers.
Public methodPopLambdaParameterScope
Pops the lambda parameter scope from the stack.
Public methodPushAliasContainer
Pushes the alias container passed in to the internal stack.
Public methodPushLambdaParameterScope
Pushes the parameters specified as a new lambda parameter scope.
Public methodRemoveRelationshipForParameters
Removes the relationship specified for all parameters it's been tracked for. This is required if the relationship has been used for a correlation predicate.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodUpdateGroupByExpressionInStores
Updates the group by expression in the dictionaries in this class. As the handlers create new instances of groupby expressions each time a referenced element changes, these references have to be updated.
Public methodUpdateGroupJoinInstanceInStores
Updates the group join instance in the dictionary stores in this class. As the handlers create new instances of groupjoin expressions each time a referenced element changes, these references have to be updated.
Top
See Also