Click or drag to resize

DynamicQuery Class

Dynamic query, for fetching a custom projection of entity data.
Inheritance Hierarchy

Namespace:  SD.LLBLGen.Pro.QuerySpec
Assembly:  SD.LLBLGen.Pro.ORMSupportClasses (in SD.LLBLGen.Pro.ORMSupportClasses.dll) Version: 5.6.0.0 (5.6.19.0117)
Syntax
public class DynamicQuery : QuerySpec, 
	IDynamicQuery, IQuerySpec

The DynamicQuery type exposes the following members.

Constructors
  NameDescription
Protected methodDynamicQuery(DynamicQuery)
Initializes a new instance of the DynamicQuery class. Copy ctor.
Public methodDynamicQuery(IElementCreatorCore, Int32)
Initializes a new instance of the DynamicQuery class.
Public methodDynamicQuery(IElementCreatorCore, String, Int32)
Initializes a new instance of the DynamicQuery class.
Top
Properties
  NameDescription
Public propertyAlias
Gets or sets the alias.
(Inherited from QuerySpec.)
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.
(Inherited from QuerySpec.)
Protected propertyIsPrepared
Gets a value indicating whether this instance is prepared.
(Inherited from QuerySpec.)
Protected propertyNestedQueries
Gets the nested queries.
(Overrides QuerySpecNestedQueries.)
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.
(Inherited from QuerySpec.)
Protected propertyRawFromClause
Gets the last clause on the from clause set list or null if nothing is there. Used with unwrapping tvf calls.
(Inherited from QuerySpec.)
Protected propertyResultsetElementType
Gets the type of the resultset element.
(Inherited from QuerySpec.)
Protected propertyTargetAlias
Gets the target alias.
(Inherited from QuerySpec.)
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.
(Inherited from QuerySpec.)
Top
Methods
  NameDescription
Protected methodAddAsRelation
Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection.
(Inherited from QuerySpec.)
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.
(Overrides QuerySpecAddFieldToProjectionIfNotPresent(IEntityFieldCore).)
Protected methodAddFromClauseDirective
Adds from clause directive.
(Inherited from QuerySpec.)
Protected methodAddFromClauseDirectives
Adds from clause directives.
(Inherited from QuerySpec.)
Protected methodAppendToPreparedWhereClauseWithAnd
Appends the predicate with And to the prepared where clause. Only used for appending additional filters to specified filters.
(Inherited from QuerySpec.)
Protected methodAppendUnionedQueriesToDerivedTable
Converts all unioned queries to derived tables and appends them as unioned queries to the derived table specified.
(Inherited from QuerySpec.)
Protected methodAssureAlias
Assures that the query has a proper alias. This is necessary for derived table generation, as derived tables need an alias.
(Inherited from QuerySpec.)
Protected methodCoerceToScalarQuery
Coerces this query to a scalar query expression
(Inherited from QuerySpec.)
Protected methodConvertToDynamicRelationOperand
Converts this instance to a dynamic relation operand.
(Overrides QuerySpecConvertToDynamicRelationOperand(IElementCreatorCore).)
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.
(Inherited from QuerySpec.)
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.
(Overrides QuerySpecDetermineIfWrappingAsDerivedTableIsRequiredForScalarQuery.)
Protected methodDetermineIfWrappingAsDerivedTableIsRequiredForScalarQuery(AggregateFunction)
Determines if wrapping as derived table is required for scalar query.
(Inherited from QuerySpec.)
Protected methodDetermineRealTargetAliasToUse
Determines the real target alias to use.
(Inherited from QuerySpec.)
Protected methodDetermineResultsetType
Determines the type of the resultset. This type is used to build resultset instances for hierarchy fetches.
(Overrides QuerySpecDetermineResultsetType.)
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.
(Inherited from QuerySpec.)
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().
(Inherited from QuerySpec.)
Protected methodGetAllFieldsFromProjection
Gets all fields from projection.
(Overrides QuerySpecGetAllFieldsFromProjection.)
Protected methodGetFromAsString
Gets from as string.
(Inherited from QuerySpec.)
Protected methodGetFromClauseDirectiveClones
Gets from clause directives as clones.
(Inherited from QuerySpec.)
Protected methodGetGroupByAsString
Gets the group by as string.
(Inherited from QuerySpec.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Protected methodGetHavingAsString
Gets the having as string.
(Inherited from QuerySpec.)
Protected methodGetOrderByAsString
Gets the order by as string.
(Inherited from QuerySpec.)
Protected methodGetPrefetchPathAsString
Gets the prefetch path as string.
(Inherited from QuerySpec.)
Protected methodGetProjectionAsEntityFields
Gets the projection as EntityFields object
(Overrides QuerySpecGetProjectionAsEntityFields.)
Protected methodGetProjectionAsEntityFields2
Gets the projection as EntityFields2 object
(Overrides QuerySpecGetProjectionAsEntityFields2.)
Protected methodGetProjectionAsString
Gets the projection as string.
(Overrides QuerySpecGetProjectionAsString(Int32).)
Protected methodGetProjectorFunc
Gets the projector func to use for projections, so instantes of real types can be created
Protected methodGetQueryParameters
Gets the query parameters, built from the elements for the query inside this expression
(Inherited from QuerySpec.)
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.
(Overrides QuerySpecGetReplacementForQueryTarget(String).)
Protected methodGetThisAsEmptyClone
Gets the this as empty clone.
(Overrides QuerySpecGetThisAsEmptyClone(String).)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodGetWhereAsString
Gets the where as string.
(Inherited from QuerySpec.)
Protected methodHandleUnwrapTvfCall
Handles the unwrap TVF call action.
(Inherited from QuerySpec.)
Protected methodIsEmpty
Determines whether this instance is empty.
(Overrides QuerySpecIsEmpty(Boolean).)
Protected methodMarkAsNotPrepared
Makes this query as being not prepared so it will be re-prepared the next time Prepare() is called.
(Overrides QuerySpecMarkAsNotPrepared.)
Protected methodMarkAsPrepared
Marks as prepared.
(Inherited from QuerySpec.)
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.
(Inherited from QuerySpec.)
Protected methodPrepare
Prepares the contents of this query to be executed.
(Overrides QuerySpecPrepare.)
Protected methodPrepareForExecution
Prepares this query for execution.
(Overrides QuerySpecPrepareForExecution(FunctionMappingStore).)
Protected methodPrepareProjection
Prepares the projection.
Protected methodPreprocess
Preprocesses the specified main function mappings.
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
(Inherited from QuerySpec.)
Protected methodReplacePlaceHolders
Replaces the EntityQueryPlaceHolder objects with this instance
(Inherited from QuerySpec.)
Protected methodSetCorrelationPredicate
Sets the correlation predicate.
(Inherited from QuerySpec.)
Protected methodSetTargetAlias
Sets the target alias.
(Inherited from QuerySpec.)
Public methodTargetAs
Sets the target alias to the alias specified. By default this alias is the empty string. This alias is a different alias than the alias set with .As(string), as this alias is the alias on the target table(s), while .As(string) is the alias for the whole query.
Protected methodToDerivedTable
Converts this instance to a derived table definition.
(Overrides QuerySpecToDerivedTable.)
Public methodToString
Returns a String that represents this instance.
(Inherited from QuerySpec.)
Public methodToString(Int32)
Returns a String that represents this instance.
(Inherited from QuerySpec.)
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.
(Overrides QuerySpecValidateForUnion.)
Public methodWithProjectorT
Specifies the projector delegate/func which will be used to produce typed instances for each row returned by the query.
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 MethodAs
Specifies the alias of the query
(Defined by QuerySpecExtensionMethods.)
Public Extension MethodAvgOverloaded.
Creates a scalar query over the specified query and aggregates the first field in the projection of the query.
(Defined by ScalarQueryProducers.)
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(Object)Overloaded.
Creates a predicate which has to be true if the query contains the value specified.
(Defined by ContainsPredicateProducers.)
Public Extension MethodContains(DynamicQuery)Overloaded.
Creates a predicate which has to be true if a value in the set produced by query valueSupplierQuery is in the set produced by query.
(Defined by ContainsPredicateProducers.)
Public Extension MethodContains(IEntityCore)Overloaded.
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 MethodCountOverloaded.
Creates a scalar query over the specified query and aggregates the first field in the projection of the query. Semantically equal to CountRow
(Defined by ScalarQueryProducers.)
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 MethodCountBigOverloaded.
Creates a scalar query over the specified query and aggregates the first field in the projection of the query. Semantically equal to CountBigRow
(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 MethodDistinct
Sets the AllowDuplicates flag to false, so the query won't return duplicate rows.
(Defined by QuerySpecExtensionMethods.)
Public Extension MethodExcept
Specifies the where clause of the query by appending a predicate which is true for each element in query which is also in toExclude.
(Defined by QuerySpecExtensionMethods.)
Public Extension MethodIntersect
Specifies the where clause of the query by appending a predicate which is true for each element in query which is also in toInclude.
(Defined by QuerySpecExtensionMethods.)
Public Extension MethodMaxOverloaded.
Creates a scalar query over the specified query and aggregates the first field in the projection of the query.
(Defined by ScalarQueryProducers.)
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 MethodMinOverloaded.
Creates a scalar query over the specified query and aggregates the first field in the projection of the query.
(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 MethodSelect(Object)Overloaded.
Specifies the projection of the query. It clears any existing projection and sets the projection to the one specified.
(Defined by QuerySpecExtensionMethods.)
Public Extension MethodSelectT(ExpressionFuncT)Overloaded.
Specifies the projection of the query specified. It clears any existing projection and sets the projection to the one specified. This variant converts the specified projectionFunc into the projector lambda to pass to WithProjector and extracts the elements to place in the SQL query's projection from the projectionFunc. Use this overload to specify a typed resultset.
(Defined by QuerySpecExtensionMethods.)
Public Extension MethodSelectT(Object)Overloaded.
Specifies the projection of the query and the result type. It clears any existing projection and sets the projection to the one specified. It will also mark the query to autogenerate a projector lambda to project the specified projection elements to an instance of T for each row.
(Defined by QuerySpecExtensionMethods.)
Public Extension MethodSelectT, UOverloaded.
Specifies the projection of the query specified, making it a typed dynamic query. It creates the projection from the two type arguments given.
(Defined by QuerySpecExtensionMethods.)
Public Extension MethodSelectFrom(DynamicQuery)Overloaded.
Specifies a projection on 'query' which is mimics the projection of the query 'toWrap': it contains fields which target each field in 'toWrap's projection. It wraps 'toWrap' as the From clause for 'query', overwriting query's From clause, if set.
(Defined by QuerySpecExtensionMethods.)
Public Extension MethodSelectFromT(DynamicQueryT)Overloaded.
Specifies a projection on 'query' which is mimics the projection of the query 'toWrap': it contains fields which target each field in 'toWrap's projection. It wraps 'toWrap' as the From clause for 'query', overwriting query's From clause, if set.
(Defined by QuerySpecExtensionMethods.)
Public Extension MethodStDevOverloaded.
Creates a scalar query over the specified query and aggregates the first field in the projection of the query.
(Defined by ScalarQueryProducers.)
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 MethodSumOverloaded.
Creates a scalar query over the specified query and aggregates the first field in the projection of the query.
(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 MethodUnion
Specifies the query toUnion which should be union-ed with query using the UNION operator
(Defined by QuerySpecExtensionMethods.)
Public Extension MethodUnionAll
Specifies the query toUnion which should be union-ed with query using the UNION ALL operator
(Defined by QuerySpecExtensionMethods.)
Public Extension MethodVarianceOverloaded.
Creates a scalar query over the specified query and aggregates the first field in the projection of the 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 propertyIDynamicQueryProjection
Gets the prepared projection.
Explicit interface implementationPrivate methodIJoinOperandConvertToDynamicRelationOperand
Converts this instance to a dynamic relation operand.
(Inherited from QuerySpec.)
Explicit interface implementationPrivate methodIJoinOperandPrepare
Prepares the implementor by converting it to a relation object and adds it to the passed in relationcollection.
(Inherited from QuerySpec.)
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.
(Inherited from QuerySpec.)
Explicit interface implementationPrivate propertyIQuerySpecAlias
Gets or sets the alias.
(Inherited from QuerySpec.)
Explicit interface implementationPrivate propertyIQuerySpecAllowDuplicates
Gets AllowDuplicates (default is true, if Distinct() is specified, this value is false).
(Inherited from QuerySpec.)
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,
(Inherited from QuerySpec.)
Explicit interface implementationPrivate propertyIQuerySpecFromClause
Gets the from clause, which is the prepared from clause, created from the plain clause.
(Inherited from QuerySpec.)
Explicit interface implementationPrivate propertyIQuerySpecGroupByClause
Gets the prepared group by clause.
(Inherited from QuerySpec.)
Explicit interface implementationPrivate propertyIQuerySpecLimit
Gets the limit value specified
(Inherited from QuerySpec.)
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
(Inherited from QuerySpec.)
Explicit interface implementationPrivate propertyIQuerySpecOffset
Gets the offset value specified
(Inherited from QuerySpec.)
Explicit interface implementationPrivate propertyIQuerySpecOrderByClause
Gets the prepared order by clause.
(Inherited from QuerySpec.)
Explicit interface implementationPrivate propertyIQuerySpecResultsetElementType
Gets the type of the resultset element.
(Inherited from QuerySpec.)
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.
(Inherited from QuerySpec.)
Explicit interface implementationPrivate propertyIQuerySpecTargetAlias
Gets the target alias.
(Inherited from QuerySpec.)
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.
(Inherited from QuerySpec.)
Explicit interface implementationPrivate propertyIQuerySpecWhereClause
Gets the prepared where clause.
(Inherited from QuerySpec.)
Top
See Also