Click or drag to resize

EntityExpression Class

Special expression class which is used in expression tree handling to represent an entity type node. This can be a set or a single entity. The expression type is set to the type represented by this expression in the tree. The EntityType property is set to the type of the entity represented by this expression.
Inheritance Hierarchy

Namespace:  SD.LLBLGen.Pro.LinqSupportClasses.ExpressionClasses
Assembly:  SD.LLBLGen.Pro.ORMSupportClasses (in SD.LLBLGen.Pro.ORMSupportClasses.dll) Version: 5.4.0.0 (5.4.0)
Syntax
public class EntityExpression : HintableElementExpression, 
	IRelationPropagator

The EntityExpression type exposes the following members.

Constructors
  NameDescription
Public methodEntityExpression(Type)
Initializes a new instance of the EntityExpression class.
Public methodEntityExpression(Type, Type)
Initializes a new instance of the EntityExpression class.
Top
Properties
  NameDescription
Public propertyAlias
Gets or sets the Alias assigned to this set.
(Inherited from SetExpression.)
Public propertyCanReduce
Indicates that the node can be reduced to a simpler node. If this returns true, Reduce() can be called to produce the reduced form.
(Inherited from Expression.)
Public propertyContainedAliases
Gets or sets the AliasContainer which contains the aliases inside this direct set which are reachable only INSIDE this set. If null, it has no aliases directly inside this set, it can be the source might have contained aliases.
(Inherited from SetExpression.)
Public propertyCorrelationRelation
Gets the relation which connects the set defined by this entity type and a containing query. This is normally the first relation in the relationsToUse list, as that relation ties the relations in the RelationsToUse to the outer query. A correlated subquery is a normal subquery with a predicate which ties subquery set and outer query together. This predicate is createable from the entity relation by simply creating FieldCompareExpression predicates from the field(s) of fk and pk. Aliases for the fields have to be set to the aliases of pk/fk side in the relation. Can be null.
Public propertyCreatedFromParameter
Gets or sets the parameter this instance was created from, if any. Can be a parameter this entity is created from indirectly, e.g. od.Order.Customer, both Order and Customer navigators result in an EntityExpression which all are created from the parameter od. This is required to be able to move relations based on navigators to the right scope (i.e. the one where the parameter is defined).
Public propertyEntityType
Gets or sets the type of the entity as represented by this EntityExpression.
Public propertyIsExtractionLocked
Gets or sets a value indicating whether this instance is extraction locked, which means a where/orderby extractor won't touch it.
(Inherited from SetExpression.)
Public propertyNodeType
Gets the node type of this Expression.
(Inherited from CommonExpression.)
Public propertyRelationsToUse
Gets the relations required to access this entity. Can be null (which means: no relations needed) This collection is filled if the entity represented by this expression is a related entity so a relation is required to reach that entity. The relations in this collection are always IEntityRelation, as dynamic relations aren't the result of an access of a related entity/collection, which are the source of the relations in this set.
Public propertyRequiresProjection
Flag which is set if this set requires a projection to be usable. This flag is later on used to determine if a projection has to be injected into the processing result of this set if there's none defined (true), or not (false). Default is false;
(Inherited from SetExpression.)
Public propertySource
Gets or sets the source expression of the select
(Inherited from SetExpression.)
Public propertyType
Gets the static type of the expression that this Expression represents.
(Inherited from CommonExpression.)
Top
Methods
  NameDescription
Protected methodAccept
Dispatches to the specific visit method for this node type. For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).
(Inherited from Expression.)
Public methodAddHint
Adds the hint specification to the list of specifications on this entity expression
(Inherited from HintableElementExpression.)
Public methodAddHints
Adds the hints.
(Inherited from HintableElementExpression.)
Public methodAddRelation
Adds the relation. The relation passed in is necessary to reach this entity from the root entity of the query.
Public methodAddRelations
Adds the relations passed in.
Public methodAddTemporalTablePredicate
Adds the temporal table predicate specified
(Inherited from HintableElementExpression.)
Public methodAssignNewAliasIfRequired
Assigns a new alias to this set, if necessary
(Inherited from SetExpression.)
Public methodStatic memberCreateCloneWithDifferentEntityType
Creates a clone of the passed in entityexpression with a different entity type
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 methodGetFromClauseDirectiveClones
Gets from clause directives as clones.
(Inherited from HintableElementExpression.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetRepresentingObjectForDynamicRelationSide
Gets the representing object for this entity for dynamic relation side. If this entity wraps a tvf call, this tvf call is returned (and which gets this entity's alias) otherwise this entity's type is returned.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodHandle
Handles this instance using the specified handler.
(Overrides SetExpressionHandle(ScopeHandlerBase).)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodNewAliasAssigned
A new alias was set, using AssignNewAliasIfRequired. Use this method to map a wrapped expression to the alias set in the tracker passed in.
(Inherited from SetExpression.)
Public methodReduce
Reduces this node to a simpler expression. If CanReduce returns true, this should return a valid expression. This method can return another node which itself must be reduced.
(Inherited from Expression.)
Public methodReduceAndCheck
Reduces this node to a simpler expression. If CanReduce returns true, this should return a valid expression. This method can return another node which itself must be reduced.
(Inherited from Expression.)
Public methodReduceExtensions
Reduces the expression to a known node type (that is not an Extension node) or just returns the expression if it is already a known type.
(Inherited from Expression.)
Public methodSetRequiresProjectionFlag
Sets the RequiresProjection flag if this expression isn't an EntityExpression
(Inherited from SetExpression.)
Public methodToString
Returns a textual representation of the Expression.
(Overrides ExpressionToString.)
Protected methodVisitChildren
Reduces the node and then calls the visitor delegate on the reduced expression. The method throws an exception if the node is not reducible.
(Inherited from Expression.)
Top
See Also