Table of Contents

Struct SqlJoinDefinition

Namespace
LfrlAnvil.Sql.Expressions.Objects
Assembly
LfrlAnvil.Sql.Core.dll

Represents a definition of a record set join operation.

public readonly struct SqlJoinDefinition
Inherited Members

Properties

InnerRecordSet

Inner SqlRecordSetNode instance.

public SqlRecordSetNode InnerRecordSet { get; }

Property Value

SqlRecordSetNode

JoinType

Type of the join operation to perform.

public SqlJoinType JoinType { get; }

Property Value

SqlJoinType

OnExpression

Callback that creates a condition of the join operation.

public Func<SqlJoinDefinition.ExpressionParams, SqlConditionNode> OnExpression { get; }

Property Value

Func<SqlJoinDefinition.ExpressionParams, SqlConditionNode>

Methods

Cross(SqlRecordSetNode)

Creates a new SqlJoinDefinition instance with Cross type.

[Pure]
public static SqlJoinDefinition Cross(SqlRecordSetNode inner)

Parameters

inner SqlRecordSetNode

Inner SqlRecordSetNode instance.

Returns

SqlJoinDefinition

New SqlJoinDefinition instance.

Full(SqlRecordSetNode, Func<ExpressionParams, SqlConditionNode>)

Creates a new SqlJoinDefinition instance with Full type.

[Pure]
public static SqlJoinDefinition Full(SqlRecordSetNode inner, Func<SqlJoinDefinition.ExpressionParams, SqlConditionNode> onExpression)

Parameters

inner SqlRecordSetNode

Inner SqlRecordSetNode instance.

onExpression Func<SqlJoinDefinition.ExpressionParams, SqlConditionNode>

Callback that creates a condition of the join operation.

Returns

SqlJoinDefinition

New SqlJoinDefinition instance.

Inner(SqlRecordSetNode, Func<ExpressionParams, SqlConditionNode>)

Creates a new SqlJoinDefinition instance with Inner type.

[Pure]
public static SqlJoinDefinition Inner(SqlRecordSetNode inner, Func<SqlJoinDefinition.ExpressionParams, SqlConditionNode> onExpression)

Parameters

inner SqlRecordSetNode

Inner SqlRecordSetNode instance.

onExpression Func<SqlJoinDefinition.ExpressionParams, SqlConditionNode>

Callback that creates a condition of the join operation.

Returns

SqlJoinDefinition

New SqlJoinDefinition instance.

Left(SqlRecordSetNode, Func<ExpressionParams, SqlConditionNode>)

Creates a new SqlJoinDefinition instance with Left type.

[Pure]
public static SqlJoinDefinition Left(SqlRecordSetNode inner, Func<SqlJoinDefinition.ExpressionParams, SqlConditionNode> onExpression)

Parameters

inner SqlRecordSetNode

Inner SqlRecordSetNode instance.

onExpression Func<SqlJoinDefinition.ExpressionParams, SqlConditionNode>

Callback that creates a condition of the join operation.

Returns

SqlJoinDefinition

New SqlJoinDefinition instance.

Right(SqlRecordSetNode, Func<ExpressionParams, SqlConditionNode>)

Creates a new SqlJoinDefinition instance with Left type.

[Pure]
public static SqlJoinDefinition Right(SqlRecordSetNode inner, Func<SqlJoinDefinition.ExpressionParams, SqlConditionNode> onExpression)

Parameters

inner SqlRecordSetNode

Inner SqlRecordSetNode instance.

onExpression Func<SqlJoinDefinition.ExpressionParams, SqlConditionNode>

Callback that creates a condition of the join operation.

Returns

SqlJoinDefinition

New SqlJoinDefinition instance.