Struct SqlQueryTraits
- Namespace
- LfrlAnvil.Sql.Expressions.Visitors
- Assembly
- LfrlAnvil.Sql.Core.dll
Represents a collection of traits attached to an SqlExtendableQueryExpressionNode.
public readonly record struct SqlQueryTraits : IEquatable<SqlQueryTraits>
- Implements
- Inherited Members
Constructors
SqlQueryTraits(Chain<ReadOnlyArray<SqlCommonTableExpressionNode>>, bool, Chain<ReadOnlyArray<SqlOrderByNode>>, SqlExpressionNode?, SqlExpressionNode?, Chain<SqlTraitNode>)
Represents a collection of traits attached to an SqlExtendableQueryExpressionNode.
public SqlQueryTraits(Chain<ReadOnlyArray<SqlCommonTableExpressionNode>> CommonTableExpressions, bool ContainsRecursiveCommonTableExpression, Chain<ReadOnlyArray<SqlOrderByNode>> Ordering, SqlExpressionNode? Limit, SqlExpressionNode? Offset, Chain<SqlTraitNode> Custom)
Parameters
CommonTableExpressionsChain<ReadOnlyArray<SqlCommonTableExpressionNode>>Collection of common table expressions that is the result of parsing of all SqlCommonTableExpressionTraitNode instances.
ContainsRecursiveCommonTableExpressionboolSpecifies whether or not any of SqlCommonTableExpressionTraitNode instances returned true for their ContainsRecursive property.
OrderingChain<ReadOnlyArray<SqlOrderByNode>>Collection of ordering expressions that is the result of parsing of all SqlSortTraitNode instances.
LimitSqlExpressionNodeUnderlying value of the last SqlLimitTraitNode instance.
OffsetSqlExpressionNodeUnderlying value of the last SqlOffsetTraitNode instance.
CustomChain<SqlTraitNode>Collection of all unrecognized SqlTraitNode instances.
Properties
CommonTableExpressions
Collection of common table expressions that is the result of parsing of all SqlCommonTableExpressionTraitNode instances.
public Chain<ReadOnlyArray<SqlCommonTableExpressionNode>> CommonTableExpressions { get; init; }
Property Value
ContainsRecursiveCommonTableExpression
Specifies whether or not any of SqlCommonTableExpressionTraitNode instances returned true for their ContainsRecursive property.
public bool ContainsRecursiveCommonTableExpression { get; init; }
Property Value
Custom
Collection of all unrecognized SqlTraitNode instances.
public Chain<SqlTraitNode> Custom { get; init; }
Property Value
Limit
Underlying value of the last SqlLimitTraitNode instance.
public SqlExpressionNode? Limit { get; init; }
Property Value
Offset
Underlying value of the last SqlOffsetTraitNode instance.
public SqlExpressionNode? Offset { get; init; }
Property Value
Ordering
Collection of ordering expressions that is the result of parsing of all SqlSortTraitNode instances.
public Chain<ReadOnlyArray<SqlOrderByNode>> Ordering { get; init; }