Table of Contents

Class QueryPreparationContribution

Namespace
NextORM.Core
Assembly
nextorm.core.dll

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

groupingKeys IReadOnlyList<LambdaExpression>
havingMode QueryPreparationHavingMode
having LambdaExpression
sourcePredicate LambdaExpression
requireDistinct bool

Properties

GroupingKeys

Ordered scalar lambda keys of the grouping (empty = explicit global aggregation when active).

public IReadOnlyList<LambdaExpression> GroupingKeys { get; }

Property Value

IReadOnlyList<LambdaExpression>

Having

The replacement HAVING condition when HavingMode is Replace.

public LambdaExpression? Having { get; }

Property Value

LambdaExpression

HavingMode

How the effective HAVING is handled.

public QueryPreparationHavingMode HavingMode { get; }

Property Value

QueryPreparationHavingMode

RequireDistinct

Whether DISTINCT is required (monotonic OR on the effective state).

public bool RequireDistinct { get; }

Property Value

bool

SourcePredicate

An additive source predicate AND-ed into the effective source condition.

public LambdaExpression? SourcePredicate { get; }

Property Value

LambdaExpression