Table of Contents

Class CteAnnotationNames

Namespace
LinqToDB.Internal.SqlQuery
Assembly
linq2db.dll

Well-known annotation names carried on Annotations. Cross-provider keys are flat. Provider-specific keys, when they appear, belong in nested classes.

public static class CteAnnotationNames
Inheritance
object
CteAnnotationNames

Fields

Materialized

Boolean. When true emits AS MATERIALIZED, when false emits AS NOT MATERIALIZED. Currently recognized by PostgreSQL 12+, SQLite 3.35+, and ClickHouse 26.3+.

public const string Materialized = "cte::materialized"

Field Value

string

Remarks

Expected value type is bool. Annotation values participate in both query-cache keying (via GetElementHashCode() and the IExpressionCacheKey-marked CteAnnotationsContainer) and LinqService round-trips, so values must hash stably and serialize via the standard SerializationConverter. Non-primitive values are not supported today.