Table of Contents

Class JoinExpression

Namespace
NextORM.Core
Assembly
nextorm.core.dll

A join between two sources: the join kind, the optional ON condition, the joined From source and the optional ClickHouse strictness and global modifiers.

public class JoinExpression
Inheritance
JoinExpression
Inherited Members
Extension Methods

Constructors

JoinExpression(LambdaExpression?, JoinType)

A join between two sources: the join kind, the optional ON condition, the joined From source and the optional ClickHouse strictness and global modifiers.

public JoinExpression(LambdaExpression? joinCondition, JoinType joinType = JoinType.Inner)

Parameters

joinCondition LambdaExpression

The ON condition, or null for a conditionless join.

joinType JoinType

The kind of join to perform.

Properties

EntityType

Joined source type. Only needed when JoinCondition is absent (a cross join has no condition parameter to read the right-hand type from), so the alias of the joined table can be resolved during SQL generation and in the in-memory provider.

public Type? EntityType { get; init; }

Property Value

Type

From

The right-hand source being joined.

public required FromExpression From { get; init; }

Property Value

FromExpression

IsGlobal

Whether the join is the ClickHouse GLOBAL variant (the right-hand side is resolved once and broadcast, for distributed queries). Set at construction from the join's JoinOptions (Global). Rendered by MakeJoinKeyword(JoinType, JoinStrictness, bool, KeywordCase) and gated by SupportsGlobalJoin.

public bool IsGlobal { get; }

Property Value

bool

JoinCondition

The ON condition, or null when the join has none (cross and apply joins).

public LambdaExpression? JoinCondition { get; }

Property Value

LambdaExpression

JoinHint

Optional provider-specific hint attached to this join, or null when the join has none. Set at construction from the join's JoinOptions (WithJoinHint). A dialect that renders join hints places it inside the join clause (SQL Server inner loop join); a dialect with inline hint comments folds it into the statement-level /*+ ... */. A dialect that supports neither rejects the command.

public string? JoinHint { get; }

Property Value

string

JoinType

The kind of join.

public JoinType JoinType { get; }

Property Value

JoinType

Strictness

Join modifier (ANY/ALL/ASOF). Set at construction from the join's JoinOptions (WithStrictness); defaults to Default.

public JoinStrictness Strictness { get; }

Property Value

JoinStrictness