Click or drag to resize

QuerySpec Class

Abstract base class for all query specification classes.
Inheritance Hierarchy

Namespace:  SD.LLBLGen.Pro.QuerySpec
Assembly:  SD.LLBLGen.Pro.ORMSupportClasses (in SD.LLBLGen.Pro.ORMSupportClasses.dll) Version: 5.11.0.0 (5.11.23.1114)
Syntax
public abstract class QuerySpec : IJoinOperand, 
	IQuerySpec

The QuerySpec type exposes the following members.

Constructors
  NameDescription
Protected methodQuerySpec(QuerySpec)
Initializes a new instance of the QuerySpec class. Copy ctor
Protected methodQuerySpec(IElementCreatorCore, Int32)
Initializes a new instance of the QuerySpec class.
Protected methodQuerySpec(IElementCreatorCore, String, Int32)
Initializes a new instance of the QuerySpec class.
Top
Properties
  NameDescription
Public propertyAlias
Gets or sets the alias.
Public propertyCustomFunctionMappingStore
Gets or sets the optional custom function mapping store. A custom function mapping store takes precedence over the function mapping store obtained from the Dynamic Query Engine (DQE) used for producing the SQL for the query. If a custom function mapping store is needed for a query, set this property only on the query object passed to the execution method. No need to set it on inner query objects.
Protected propertyIsPrepared
Gets a value indicating whether this instance is prepared.
Protected propertyNestedQueries
Gets the nested queries defined for this query. By default this is an empty list, and only filled with nested queries if this query is a dynamic query and it contains one or more nested queries
Public propertyOnPrepareForExecutionCallBack
Gets or sets the call back lambda which is called after this query has been prepared for execution. Use this method to tap into the execution chain to do last-minute query object manipulation / inspection prior to the actual fetch action.
Protected propertyRawFromClause
Gets the last clause on the from clause set list or null if nothing is there. Used with unwrapping tvf calls.
Protected propertyResultsetElementType
Gets the type of the resultset element.
Protected propertyTargetAlias
Gets the target alias.
Protected propertyUseAliasForOuterAliasOnly
Gets or sets a value indicating whether the 'Alias' value should be used only for the query's alias (true) or for target aliasing as well if there's no target alias set (false, default). Set to true when the query is converted to a derived table.
Top
Methods
  NameDescription
Protected methodAddAsRelation
Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection.
Protected methodAddFieldToProjectionIfNotPresent
Adds the field to projection if not present already. Uses field alias checks. If this query is an entity query, it won't add any fields, only verify whether the field is present.
Protected methodAddFromClauseDirective
Adds from clause directive.
Protected methodAddFromClauseDirectives
Adds from clause directives.
Protected methodAppendToPreparedWhereClauseWithAnd
Appends the predicate with And to the prepared where clause. Only used for appending additional filters to specified filters.
Protected methodAppendUnionedQueriesToDerivedTable
Converts all unioned queries to derived tables and appends them as unioned queries to the derived table specified.
Protected methodAssureAlias
Assures that the query has a proper alias. This is necessary for derived table generation, as derived tables need an alias.
Protected methodCoerceToScalarQuery
Coerces this query to a scalar query expression
Protected methodConvertToDynamicRelationOperand
Converts this instance to a dynamic relation operand.
Protected methodDetermineIfDerivedTableIsTargetInFieldCompareSetPredicate
Determines if the derived table variant of this query is the target when this query is used as the target of a field compare set predicate. Only true if query is an entity query and entity is an inheritance entity of TargetPerEntity.
Protected methodDetermineIfWrappingAsDerivedTableIsRequiredForScalarQuery
Determines if wrapping as derived table is required for scalar query. This overload looks at the prepared elements, and if a wrapping is required it will return true, otherwise false.
Protected methodDetermineIfWrappingAsDerivedTableIsRequiredForScalarQuery(AggregateFunction)
Determines if wrapping as derived table is required for scalar query.
Protected methodDetermineRealTargetAliasToUse
Determines the real target alias to use.
Protected methodDetermineResultsetType
Determines the type of the resultset. This type is used to build resultset instances for hierarchy fetches.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodField
Creates a field which targets the projection of this query. Use this to easily create a derived table targeting field which targets this query.
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.)
Protected methodGetAdditionalInfoAsString
Gets the additional info as string. For ToString().
Protected methodGetAllFieldsFromProjection
Gets all fields from projection.
Protected methodGetFromAsString
Gets from as string.
Protected methodGetFromClauseDirectiveClones
Gets from clause directives as clones.
Protected methodGetGroupByAsString
Gets the group by as string.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Protected methodGetHavingAsString
Gets the having as string.
Protected methodGetOrderByAsString
Gets the order by as string.
Protected methodGetPrefetchPathAsString
Gets the prefetch path as string.
Protected methodGetProjectionAsEntityFields
Gets the projection as EntityFields object
Protected methodGetProjectionAsEntityFields2
Gets the projection as EntityFields2 object
Protected methodGetProjectionAsString
Gets the projection as string.
Protected methodGetQueryParameters
Gets the query parameters, built from the elements for the query inside this expression
Protected methodGetReplacementForQueryTarget
Gets the replacement for query target. By default this is the result of GetThisAsEmptyClone(). It will thrown an exception if the class isn't an entityquery, unless this method is overriden in a subtype.
Protected methodGetThisAsEmptyClone
Gets the this as empty clone.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodGetWhereAsString
Gets the where as string.
Protected methodHandleUnwrapTvfCall
Handles the unwrap TVF call action.
Protected methodIsEmpty
Determines whether this instance is empty.
Protected methodMarkAsNotPrepared
Makes this query as being not prepared so it will be re-prepared the next time Prepare() is called.
Protected methodMarkAsPrepared
Marks as prepared.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodOnPreparedForExecution
Called when PrepareForExecution has been completed successfully. Calls the lambda set in OnPrepareForExecutionCallBack, if set.
Protected methodPrepare
Prepares the contents of this query to be executed.
Protected methodPrepareForExecution
Prepares this query for execution.
Protected methodRaiseQueryTargetUsageExceptionIfApplicable
Raises an exception if a QueryTarget was used in a query type which wasn't suitable for that. By default it does this
Protected methodReplacePlaceHolders
Replaces the EntityQueryPlaceHolder objects with this instance
Protected methodSetCorrelationPredicate
Sets the correlation predicate.
Protected methodSetTargetAlias
Sets the target alias.
Protected methodToDerivedTable
Converts this instance to a derived table definition.
Public methodToString
Returns a String that represents this instance.
(Overrides ObjectToString.)
Public methodToString(Int32)
Returns a String that represents this instance.
Protected methodValidateForUnion
Validates this query whether it can be a unioned query in a parent query or not. Queries which contain nested queries or prefetch paths can't be unioned.
Top
Extension Methods
  NameDescription
Public Extension MethodAll
Creates a predicate which has to be true for all elements in query, which is equal to NOT EXISTS(QUERY.Where(NOT predicate))
(Defined by AllAnyPredicateProducers.)
Public Extension MethodAnyOverloaded.
Creates a predicate which has to be true it there's at least one element in query, which is equal to EXISTS(QUERY)
(Defined by AllAnyPredicateProducers.)
Public Extension MethodAny(IPredicate)Overloaded.
Creates a predicate which has to be true for at least one element in query, which is equal to EXISTS(QUERY.Where(predicate))
(Defined by AllAnyPredicateProducers.)
Public Extension MethodAvg(IEntityFieldCore)Overloaded.
Creates a scalar query over the specified query and aggregates the field specified with the Avg() aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodAvg(IExpression)Overloaded.
Creates a scalar query over the specified query and aggregates the expression specified with the Avg() aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodAvgDistinct(IEntityFieldCore)Overloaded.
Creates a scalar query over the specified query and aggregates the field specified with the Avg(Distinct ) aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodAvgDistinct(IExpression)Overloaded.
Creates a scalar query over the specified query and aggregates the expression specified with the Avg(Distinct ) aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodContains
Creates a predicate which has to be true if the query contains an entity which has the same PK values as the entityInstance specified
(Defined by ContainsPredicateProducers.)
Public Extension MethodCount(IEntityFieldCore)Overloaded.
Creates a scalar query over the specified query and aggregates the field specified with the Count() aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodCount(IExpression)Overloaded.
Creates a scalar query over the specified query and aggregates the expression specified with the Count() aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodCountBig(IEntityFieldCore)Overloaded.
Creates a scalar query over the specified query and aggregates the field specified with the CountBig() aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodCountBig(IExpression)Overloaded.
Creates a scalar query over the specified query and aggregates the expression specified with the CountBig() aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodCountBigDistinct(IEntityFieldCore)Overloaded.
Creates a scalar query over the specified query and aggregates the field specified with the CountBig(Distinct ) aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodCountBigDistinct(IExpression)Overloaded.
Creates a scalar query over the specified query and aggregates the expression specified with the CountBig(Distinct ) aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodCountBigRow
Creates a COUNT_BIG(*) query of the query specified, SQL Server specific
(Defined by ScalarQueryProducers.)
Public Extension MethodCountDistinct(IEntityFieldCore)Overloaded.
Creates a scalar query over the specified query and aggregates the field specified with the Count(Distinct ) aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodCountDistinct(IExpression)Overloaded.
Creates a scalar query over the specified query and aggregates the expression specified with the Count(Distinct ) aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodCountRow
Creates a COUNT(*) query of the query specified.
(Defined by ScalarQueryProducers.)
Public Extension MethodCrossJoin(IEntityRelation)Overloaded.
Creates a new join of type CROSS JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified
(Defined by JoinOperandExtensionMethods.)
Public Extension MethodCrossJoin(IJoinOperand)Overloaded.
Creates a new join of type CROSS JOIN between the left operand the method is called on and the specified right operand.
(Defined by JoinOperandExtensionMethods.)
Public Extension MethodCrossJoin(IEntityRelation, String, String)Overloaded.
Creates a new join of type CROSS JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified
(Defined by JoinOperandExtensionMethods.)
Public Extension MethodFullJoin(IEntityRelation)Overloaded.
Creates a new join of type FULL JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified
(Defined by JoinOperandExtensionMethods.)
Public Extension MethodFullJoin(IJoinOperand)Overloaded.
Creates a new join of type FULL JOIN between the left operand the method is called on and the specified right operand.
(Defined by JoinOperandExtensionMethods.)
Public Extension MethodFullJoin(IEntityRelation, String, String)Overloaded.
Creates a new join of type FULL JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified
(Defined by JoinOperandExtensionMethods.)
Public Extension MethodInnerJoin(IEntityRelation)Overloaded.
Creates a new join of type INNER JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified
(Defined by JoinOperandExtensionMethods.)
Public Extension MethodInnerJoin(IJoinOperand)Overloaded.
Creates a new join of type INNER JOIN between the left operand the method is called on and the specified right operand.
(Defined by JoinOperandExtensionMethods.)
Public Extension MethodInnerJoin(IEntityRelation, String, String)Overloaded.
Creates a new join of type INNER JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified
(Defined by JoinOperandExtensionMethods.)
Public Extension MethodLeftJoin(IEntityRelation)Overloaded.
Creates a new join of type LEFT JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified
(Defined by JoinOperandExtensionMethods.)
Public Extension MethodLeftJoin(IJoinOperand)Overloaded.
Creates a new join of type LEFT JOIN between the left operand the method is called on and the specified right operand.
(Defined by JoinOperandExtensionMethods.)
Public Extension MethodLeftJoin(IEntityRelation, String, String)Overloaded.
Creates a new join of type LEFT JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified
(Defined by JoinOperandExtensionMethods.)
Public Extension MethodMax(IEntityFieldCore)Overloaded.
Creates a scalar query over the specified query and aggregates the field specified with the Max() aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodMax(IExpression)Overloaded.
Creates a scalar query over the specified query and aggregates the expression specified with the Max() aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodMin(IEntityFieldCore)Overloaded.
Creates a scalar query over the specified query and aggregates the field specified with the Min() aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodMin(IExpression)Overloaded.
Creates a scalar query over the specified query and aggregates the expression specified with the Min() aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodRightJoin(IEntityRelation)Overloaded.
Creates a new join of type RIGHT JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified
(Defined by JoinOperandExtensionMethods.)
Public Extension MethodRightJoin(IJoinOperand)Overloaded.
Creates a new join of type RIGHT JOIN between the left operand the method is called on and the specified right operand.
(Defined by JoinOperandExtensionMethods.)
Public Extension MethodRightJoin(IEntityRelation, String, String)Overloaded.
Creates a new join of type RIGHT JOIN between the left operand the method is called on and the right operand of the specified relationship, over the relationship specified
(Defined by JoinOperandExtensionMethods.)
Public Extension MethodStDev(IEntityFieldCore)Overloaded.
Creates a scalar query over the specified query and aggregates the field specified with the StDev() aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodStDev(IExpression)Overloaded.
Creates a scalar query over the specified query and aggregates the expression specified with the StDev() aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodStDevDistinct(IEntityFieldCore)Overloaded.
Creates a scalar query over the specified query and aggregates the field specified with the StDev(Distinct ) aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodStDevDistinct(IExpression)Overloaded.
Creates a scalar query over the specified query and aggregates the expression specified with the StDev(Distinct ) aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodSum(IEntityFieldCore)Overloaded.
Creates a scalar query over the specified query and aggregates the field specified with the Sum() aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodSum(IExpression)Overloaded.
Creates a scalar query over the specified query and aggregates the expression specified with the Sum() aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodSumDistinct(IEntityFieldCore)Overloaded.
Creates a scalar query over the specified query and aggregates the field specified with the Sum(Distinct ) aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodSumDistinct(IExpression)Overloaded.
Creates a scalar query over the specified query and aggregates the expression specified with the Sum(Distinct ) aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodToScalarOverloaded.
Converts the specified query to a scalar query, without enforcing a row limit.
(Defined by ScalarQueryProducers.)
Public Extension MethodToScalar(Boolean)Overloaded.
Converts the specified query to a scalar query.
(Defined by ScalarQueryProducers.)
Public Extension MethodVariance(IEntityFieldCore)Overloaded.
Creates a scalar query over the specified query and aggregates the field specified with the Variance() aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodVariance(IExpression)Overloaded.
Creates a scalar query over the specified query and aggregates the expression specified with the Variance() aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodVarianceDistinct(IEntityFieldCore)Overloaded.
Creates a scalar query over the specified query and aggregates the field specified with the Variance(Distinct ) aggregate function.
(Defined by ScalarQueryProducers.)
Public Extension MethodVarianceDistinct(IExpression)Overloaded.
Creates a scalar query over the specified query and aggregates the expression specified with the Variance(Distinct ) aggregate function.
(Defined by ScalarQueryProducers.)
Top
Explicit Interface Implementations
  NameDescription
Explicit interface implementationPrivate methodIJoinOperandConvertToDynamicRelationOperand
Converts this instance to a dynamic relation operand.
Explicit interface implementationPrivate methodIJoinOperandPrepare
Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection.
Explicit interface implementationPrivate methodIJoinOperandUnwrapTvfCall
If this element is a tvf call container, and it's empty except for the tvf call, it will return the tvfcall it wraps, otherwise it will return itself.
Explicit interface implementationPrivate propertyIQuerySpecAlias
Gets or sets the alias.
Explicit interface implementationPrivate propertyIQuerySpecAllowDuplicates
Gets AllowDuplicates (default is true, if Distinct() is specified, this value is false).
Explicit interface implementationPrivate propertyIQuerySpecCustomFunctionMappingStore
Gets the optional custom function mapping store. A custom function mapping store takes precedence over the function mapping store obtained from the Dynamic Query Engine (DQE) used for producing the SQL for the query. If a custom function mapping store is needed for a query,
Explicit interface implementationPrivate propertyIQuerySpecFromClause
Gets the from clause, which is the prepared from clause, created from the plain clause.
Explicit interface implementationPrivate propertyIQuerySpecGroupByClause
Gets the prepared group by clause.
Explicit interface implementationPrivate propertyIQuerySpecLimit
Gets the limit value specified
Explicit interface implementationPrivate propertyIQuerySpecNestedQueries
Gets the nested queries defined for this query. By default this is an empty list, and only filled with nested queries if this query is a dynamic query and it contains one or more nested queries
Explicit interface implementationPrivate propertyIQuerySpecOffset
Gets the offset value specified
Explicit interface implementationPrivate propertyIQuerySpecOrderByClause
Gets the prepared order by clause.
Explicit interface implementationPrivate propertyIQuerySpecResultsetElementType
Gets the type of the resultset element.
Explicit interface implementationPrivate propertyIQuerySpecResultsetType
Gets the type of the resultset. For DynamicQuery instances this is List<object>, for DynamicQuery<T> this is List<T>, and for EntityQuery<T>, this is either an IEntityCollection or IEntityCollection2 created for the type T.
Explicit interface implementationPrivate propertyIQuerySpecTargetAlias
Gets the target alias.
Explicit interface implementationPrivate propertyIQuerySpecUnionedQueries
Gets the list of unioned queries with this query. Can be null, in which case no query is unioned with this query.
Explicit interface implementationPrivate propertyIQuerySpecWhereClause
Gets the prepared where clause.
Top
See Also