Table of Contents

Namespace LinqToDB.Internal.Linq.Builder

Classes

CteAnnotationsContainer

Immutable carrier for the state produced by the ICteBuilder callback. Placed into the query expression tree as a single constant so linq2db's query-cache equality comparer can discriminate distinct AsCte(b => ...) configurations: reference-equal delegate values would otherwise collapse to the same cache entry. The constructor snapshots the caller's annotation bag into an internally-owned store, so post-call mutations of the source Annotatable cannot affect translation or cache keying.

CteBuilderImpl

Default implementation of ICteBuilder used during expression translation. Captures configuration chosen by the user so it can be copied onto the emitted CteClause.

EvaluationHelper
ExpressionTreeOptimizationContext

Interfaces

IAnnotatableBuilderInternal

Internal extension surface for fluent builders that carry an annotation bag. Provider-specific extension methods under LinqToDB reach the annotations through this interface instead of downcasting to the concrete builder implementation, keeping third-party extension authoring symmetric with in-box extensions.