Class QueryPreparationContribution
An immutable declarative contribution to query preparation. Carried by an
IQueryPreparationDescriptor; the engine applies it to a separate effective
preparation state before PrepareColumns/PrepareGrouping and never mutates the
raw QueryCommand fields. An active contribution with an empty
GroupingKeys vector denotes an explicit global aggregation.
public sealed class QueryPreparationContribution
- Inheritance
-
QueryPreparationContribution
- Inherited Members
- Extension Methods
Constructors
QueryPreparationContribution(IReadOnlyList<LambdaExpression>, QueryPreparationHavingMode, LambdaExpression?, LambdaExpression?, bool)
Creates an immutable contribution.
public QueryPreparationContribution(IReadOnlyList<LambdaExpression> groupingKeys, QueryPreparationHavingMode havingMode, LambdaExpression? having, LambdaExpression? sourcePredicate, bool requireDistinct)
Parameters
groupingKeysIReadOnlyList<LambdaExpression>havingModeQueryPreparationHavingModehavingLambdaExpressionsourcePredicateLambdaExpressionrequireDistinctbool
Properties
GroupingKeys
Ordered scalar lambda keys of the grouping (empty = explicit global aggregation when active).
public IReadOnlyList<LambdaExpression> GroupingKeys { get; }
Property Value
Having
The replacement HAVING condition when HavingMode is Replace.
public LambdaExpression? Having { get; }
Property Value
HavingMode
How the effective HAVING is handled.
public QueryPreparationHavingMode HavingMode { get; }
Property Value
RequireDistinct
Whether DISTINCT is required (monotonic OR on the effective state).
public bool RequireDistinct { get; }
Property Value
SourcePredicate
An additive source predicate AND-ed into the effective source condition.
public LambdaExpression? SourcePredicate { get; }