SD.LLBLGen.Pro.LinqSupportClasses.ExpressionClasses Namespace |
Class | Description | |
---|---|---|
AggregateExpression |
Specific expression class which represents an Aggregate expression, which is an expression which defines an aggregate function on a set.
An AggregateExpression is a SetExpression because it represents a subquery, and with that a set of one value: a scalar. The class is a
SetExpression because it contains a scope of aliases, and alias scopes are properly handled for set expressions.
| |
AllAnyExpression |
Expression class which defines an All or Any expression, as a replacement for a MethodCallExpression representing a call to Queryable.All or Any
| |
CommonExpression |
The class which is placed between Expression and our own expression classes. This way we can introduce a Handle routine to simulare multiple-dynamic dispatch
ala the visitor pattern, as the normal Expression object doesn't offer that feature and we're otherwise stuck with large bug switch / case statements.
(still a switch/case is needed for .NET's Expression classes)
| |
ContainsExpression |
Expression class which defines a Contains expression, as a replacement for a MethodCallExpression representing a call to Queryable.Contains or
IEntityCollection(2).Contains
| |
DbFunctionCallExpression |
Specific expression class which represents a database function call. This expression typically contains the pattern to pass to the DbFunctionCall object
as well as the arguments for it.
| |
DefaultIfEmptyExpression |
Expression class which define a DefaultIfEmpty expression, as a replacement for a MethodCallExpression representing a call to Queryable.DefaultIfEmpty
and the complete subtree
| |
EntityExpression |
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.
| |
EntityFieldExpression |
Specific expression class which represents an EntityField(2) object.
It could be that the field is in a related entity (e.g. od.Order.Customer.Country), and relations are necessary to access the
field. These relations are then part of this entityfield expression.
| |
ExceptIntersectExpression |
Expression class which defines an Except or Intersect expression, as a replacement for a MethodCallExpression representing a call to
Queryable.Except or Queryable.Intersect. Except and Intersect share this same expression because their SQL differs only in a NOT: Except
uses a negated filter, Intersect uses just the filter.
| |
ExcludeIncludeFieldsExpression |
Specific expression class which represents an ExcludeIncludeFields list. It is used both for ExcludeFields and IncludeFields.
| |
FilterExpression |
Special expression class which is used in expression tree handling to represent a filter node. A filter node is a node which contains a predicate
expression and 0 or more relations, which are the basis for the filter (so if specified, the relations are required to reach the element(s) to filter on
by the predicate(expression) inside the filter.
| |
GroupByExpression |
Expression class which define a GroupBy expression, as a replacement for a MethodCallExpression representing a call to Queryable.GroupBy and the complete subtree
| |
GroupByKeyReferenceExpression |
Special expression class which is used in expression tree handling to represent a reference to the key of a groupby
| |
GroupJoinExpression |
Special expression class which is used in expression tree handling to represent a GroupJoin node.
| |
HintableElementExpression |
Expression class which is used to specify an expression type to which hints can be applied
| |
InClauseExpression |
Specific expression which represents a Contains() call on a list of values. In a Contains call on a list of values, the operand passed to Contains
is compared against the list of values.
| |
InMemoryEvalCandidateExpression |
Specific expression which represents a linq expression which has to be evaluated in memory and shouldn't be used to produce LLBLGen Pro objects or SQL.
| |
JoinExpression |
Special expression class which is used in expression tree handling to represent a Join node.
| |
JoinResultExpression |
Special expression class which is used in expression tree handling to represent a JoinResult, which is a select and also a result of a join.
The type is used to make a distinction between a normal select and a JoinResult with a projection: if the JoinSelectExpression is the source of a
SelectExpression, or other expression which has a projection, the contained projection of this select is ignored.
This class is required because in Linq, a select's projection is combined with the join result projection if the join is followed by a select.
| |
LikeExpression |
Specific expression which represents a Contains() call on a string-typed element, which can be an entityfield, expression or query, and a constant string
as operand.
| |
LinqExpressionAsSetExpression |
Special expression class which is used in expression tree handling to have a LinqExpression be used as a SetExpression. The member is evaluated later on
but should be seen as a set, so it can get an alias first.
| |
LLBLGenProExpressionExpression |
Specific expression class which represents an LLBLGen Pro expression object. This could mean a simple Expression, a dbfunction call, a scalar query
or other IExpression implementing classes.
| |
PathEdgeExpression |
Specific expression class which represents a path edge in a specified path inside a query.
| |
PrefetchPathExpression |
Specific expression class which represents a PrefetchPath. This expression is the root definition of a prefetch path and the container for the edges right
below the root node of the graph.
| |
ProjectionExpression |
Special expression class which is used in expression tree handling to represent a projection. During the tree processing, this node gains more and
more information.
| |
ProjectionListExpression |
Specific expression class which represents a list of elements for a projection, e.g. fields and constants.
| |
QueryExpression |
Class which represents a query for LLBLGen Pro. This expression type is used when the tree is reduced to a single query.
| |
RelationCollectionExpression |
Specific expression class which represents a relation collection, one or more relation objects. This collection is simple, it just contains
the relation collections and has no real type. It's used as an intermediate result for joinexpression evaluation if more than one join is present
and is also the source of a selectexpression, the final result of a joinexpression hierarchie.
| |
SelectExpression |
Special expression class which is used in expression tree handling to represent a SelectExpression node.
The SelectExpression class is used to specify a tree with a projection and an IQueryable source, as well as potentially joins, where etc.
| |
SetExpression |
Special expression class which is used in expression tree handling to represent a Set node. This class is specialized for more special sets.
| |
SetReferenceExpression |
Special expression class which is used in expression tree handling to represent a reference to a set with an alias elsewhere in the tree.
| |
SortClauseExpression |
Special expression class which is used in expression tree handling to represent a sort clause
| |
TypedViewExpression |
Special expression class which is used in expression tree handling to represent a typed view type node. This can be a set or a single typed view row.
The expression type is set to the type represented by this expression in the tree. The TypedViewType property is set to the type of the TypedViewRow class
represented by this expression.
| |
WhereExpression |
Expression class which define a where expression, as a replacement for a MethodCallExpression representing a call to Queryable.Where and the complete subtree
|