Class SqlQueryExpressionNodeExtensions
- Namespace
- LfrlAnvil.Sql.Expressions
- Assembly
- LfrlAnvil.Sql.Core.dll
Contains SqlQueryExpressionNode extension methods.
public static class SqlQueryExpressionNodeExtensions
- Inheritance
-
SqlQueryExpressionNodeExtensions
- Inherited Members
Methods
AndHaving<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>, SqlConditionNode)
Decorates the provided SQL query node with an SqlAggregationFilterTraitNode with IsConjunction set to true.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> AndHaving<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node, SqlConditionNode filter) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
filter
SqlConditionNodeUnderlying predicate.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNode
SQL data source node type.
AndHaving<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>, Func<TDataSourceNode, SqlConditionNode>)
Decorates the provided SQL query node with an SqlAggregationFilterTraitNode with IsConjunction set to true.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> AndHaving<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node, Func<TDataSourceNode, SqlConditionNode> filter) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
filter
Func<TDataSourceNode, SqlConditionNode>Underlying predicate provider.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNode
SQL data source node type.
AndWhere<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>, SqlConditionNode)
Decorates the provided SQL query node with an SqlFilterTraitNode with IsConjunction set to true.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> AndWhere<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node, SqlConditionNode filter) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
filter
SqlConditionNodeUnderlying predicate.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNode
SQL data source node type.
AndWhere<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>, Func<TDataSourceNode, SqlConditionNode>)
Decorates the provided SQL query node with an SqlFilterTraitNode with IsConjunction set to true.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> AndWhere<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node, Func<TDataSourceNode, SqlConditionNode> filter) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
filter
Func<TDataSourceNode, SqlConditionNode>Underlying predicate provider.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNode
SQL data source node type.
AsSet(SqlQueryExpressionNode, string)
Creates a new SqlQueryRecordSetNode instance.
[Pure]
public static SqlQueryRecordSetNode AsSet(this SqlQueryExpressionNode node, string alias)
Parameters
node
SqlQueryExpressionNodeUnderlying SqlQueryExpressionNode instance.
alias
stringAlias of this record set.
Returns
- SqlQueryRecordSetNode
New SqlQueryRecordSetNode instance.
CompoundWith(SqlQueryExpressionNode, params SqlCompoundQueryComponentNode[])
Creates a new SqlCompoundQueryExpressionNode instance.
[Pure]
public static SqlCompoundQueryExpressionNode CompoundWith(this SqlQueryExpressionNode node, params SqlCompoundQueryComponentNode[] followingQueries)
Parameters
node
SqlQueryExpressionNodeFirst underlying query.
followingQueries
SqlCompoundQueryComponentNode[]Collection of queries that sequentially follow after the first query.
Returns
- SqlCompoundQueryExpressionNode
New SqlCompoundQueryExpressionNode instance.
CompoundWith(SqlQueryExpressionNode, IEnumerable<SqlCompoundQueryComponentNode>)
Creates a new SqlCompoundQueryExpressionNode instance.
[Pure]
public static SqlCompoundQueryExpressionNode CompoundWith(this SqlQueryExpressionNode node, IEnumerable<SqlCompoundQueryComponentNode> followingQueries)
Parameters
node
SqlQueryExpressionNodeFirst underlying query.
followingQueries
IEnumerable<SqlCompoundQueryComponentNode>Collection of queries that sequentially follow after the first query.
Returns
- SqlCompoundQueryExpressionNode
New SqlCompoundQueryExpressionNode instance.
Distinct<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>)
Decorates the provided SQL query node with an SqlDistinctTraitNode.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> Distinct<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNode
SQL data source node type.
Exists(SqlQueryExpressionNode)
Creates a new SqlExistsConditionNode instance.
[Pure]
public static SqlExistsConditionNode Exists(this SqlQueryExpressionNode node)
Parameters
node
SqlQueryExpressionNodeSub-query to check.
Returns
- SqlExistsConditionNode
New SqlExistsConditionNode instance.
GroupBy<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>, params SqlExpressionNode[])
Decorates the provided SQL query node with an SqlAggregationTraitNode.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> GroupBy<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node, params SqlExpressionNode[] expressions) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
expressions
SqlExpressionNode[]Collection of expressions to aggregate by.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNode
SQL data source node type.
GroupBy<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>, IEnumerable<SqlExpressionNode>)
Decorates the provided SQL query node with an SqlAggregationTraitNode.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> GroupBy<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node, IEnumerable<SqlExpressionNode> expressions) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
expressions
IEnumerable<SqlExpressionNode>Collection of expressions to aggregate by.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNode
SQL data source node type.
GroupBy<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>, Func<TDataSourceNode, IEnumerable<SqlExpressionNode>>)
Decorates the provided SQL query node with an SqlAggregationTraitNode.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> GroupBy<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node, Func<TDataSourceNode, IEnumerable<SqlExpressionNode>> expressions) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
expressions
Func<TDataSourceNode, IEnumerable<SqlExpressionNode>>Provider of collection of expressions to aggregate by.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNode
SQL data source node type.
Limit<TQueryExpressionNode>(TQueryExpressionNode, SqlExpressionNode)
Decorates the provided SQL query node with an SqlLimitTraitNode.
[Pure]
public static TQueryExpressionNode Limit<TQueryExpressionNode>(this TQueryExpressionNode node, SqlExpressionNode value) where TQueryExpressionNode : SqlExtendableQueryExpressionNode
Parameters
node
TQueryExpressionNodeQuery node to decorate.
value
SqlExpressionNodeUnderlying value.
Returns
- TQueryExpressionNode
Decorated SQL query node.
Type Parameters
TQueryExpressionNode
SQL query node type.
NotExists(SqlQueryExpressionNode)
Creates a new negated SqlExistsConditionNode instance.
[Pure]
public static SqlExistsConditionNode NotExists(this SqlQueryExpressionNode node)
Parameters
node
SqlQueryExpressionNodeSub-query to check.
Returns
- SqlExistsConditionNode
New negated SqlExistsConditionNode instance.
Offset<TQueryExpressionNode>(TQueryExpressionNode, SqlExpressionNode)
Decorates the provided SQL query node with an SqlOffsetTraitNode.
[Pure]
public static TQueryExpressionNode Offset<TQueryExpressionNode>(this TQueryExpressionNode node, SqlExpressionNode value) where TQueryExpressionNode : SqlExtendableQueryExpressionNode
Parameters
node
TQueryExpressionNodeQuery node to decorate.
value
SqlExpressionNodeUnderlying value.
Returns
- TQueryExpressionNode
Decorated SQL query node.
Type Parameters
TQueryExpressionNode
SQL query node type.
OrHaving<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>, SqlConditionNode)
Decorates the provided SQL query node with an SqlAggregationFilterTraitNode with IsConjunction set to false.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> OrHaving<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node, SqlConditionNode filter) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
filter
SqlConditionNodeUnderlying predicate.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNode
SQL data source node type.
OrHaving<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>, Func<TDataSourceNode, SqlConditionNode>)
Decorates the provided SQL query node with an SqlAggregationFilterTraitNode with IsConjunction set to false.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> OrHaving<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node, Func<TDataSourceNode, SqlConditionNode> filter) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
filter
Func<TDataSourceNode, SqlConditionNode>Underlying predicate provider.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNode
SQL data source node type.
OrWhere<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>, SqlConditionNode)
Decorates the provided SQL query node with an SqlFilterTraitNode with IsConjunction set to false.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> OrWhere<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node, SqlConditionNode filter) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
filter
SqlConditionNodeUnderlying predicate.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNode
SQL data source node type.
OrWhere<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>, Func<TDataSourceNode, SqlConditionNode>)
Decorates the provided SQL query node with an SqlFilterTraitNode with IsConjunction set to false.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> OrWhere<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node, Func<TDataSourceNode, SqlConditionNode> filter) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
filter
Func<TDataSourceNode, SqlConditionNode>Underlying predicate provider.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNode
SQL data source node type.
OrderBy<TQueryExpressionNode>(TQueryExpressionNode, params SqlOrderByNode[])
Decorates the provided SQL query node with an SqlSortTraitNode.
[Pure]
public static TQueryExpressionNode OrderBy<TQueryExpressionNode>(this TQueryExpressionNode node, params SqlOrderByNode[] ordering) where TQueryExpressionNode : SqlExtendableQueryExpressionNode
Parameters
node
TQueryExpressionNodeQuery node to decorate.
ordering
SqlOrderByNode[]Collection of ordering definitions.
Returns
- TQueryExpressionNode
Decorated SQL query node.
Type Parameters
TQueryExpressionNode
SQL query node type.
OrderBy<TQueryExpressionNode>(TQueryExpressionNode, IEnumerable<SqlOrderByNode>)
Decorates the provided SQL query node with an SqlSortTraitNode.
[Pure]
public static TQueryExpressionNode OrderBy<TQueryExpressionNode>(this TQueryExpressionNode node, IEnumerable<SqlOrderByNode> ordering) where TQueryExpressionNode : SqlExtendableQueryExpressionNode
Parameters
node
TQueryExpressionNodeQuery node to decorate.
ordering
IEnumerable<SqlOrderByNode>Collection of ordering definitions.
Returns
- TQueryExpressionNode
Decorated SQL query node.
Type Parameters
TQueryExpressionNode
SQL query node type.
OrderBy<TQueryExpressionNode>(TQueryExpressionNode, Func<TQueryExpressionNode, IEnumerable<SqlOrderByNode>>)
Decorates the provided SQL query node with an SqlSortTraitNode.
[Pure]
public static TQueryExpressionNode OrderBy<TQueryExpressionNode>(this TQueryExpressionNode node, Func<TQueryExpressionNode, IEnumerable<SqlOrderByNode>> ordering) where TQueryExpressionNode : SqlExtendableQueryExpressionNode
Parameters
node
TQueryExpressionNodeQuery node to decorate.
ordering
Func<TQueryExpressionNode, IEnumerable<SqlOrderByNode>>Provider of collection of ordering definitions.
Returns
- TQueryExpressionNode
Decorated SQL query node.
Type Parameters
TQueryExpressionNode
SQL query node type.
Select<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>, IEnumerable<SqlSelectNode>)
Creates a new SQL data source query expression node with added selection
.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> Select<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node, IEnumerable<SqlSelectNode> selection) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Source query.
selection
IEnumerable<SqlSelectNode>Collection of expressions to add to Selection.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
New SQL data source query expression node.
Type Parameters
TDataSourceNode
Select<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>, Func<TDataSourceNode, IEnumerable<SqlSelectNode>>)
Creates a new SQL data source query expression node with added selection.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> Select<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node, Func<TDataSourceNode, IEnumerable<SqlSelectNode>> selector) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Source query.
selector
Func<TDataSourceNode, IEnumerable<SqlSelectNode>>Provider of collection of expressions to add to Selection.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
New SQL data source query expression node.
Type Parameters
TDataSourceNode
ToCompound(SqlQueryExpressionNode, SqlCompoundQueryOperator)
Creates a new SqlCompoundQueryComponentNode instance.
[Pure]
public static SqlCompoundQueryComponentNode ToCompound(this SqlQueryExpressionNode node, SqlCompoundQueryOperator @operator)
Parameters
node
SqlQueryExpressionNodeUnderlying query.
operator
SqlCompoundQueryOperatorCompound query operator with which this query should be included.
Returns
- SqlCompoundQueryComponentNode
New SqlCompoundQueryComponentNode instance.
ToCreateView(SqlQueryExpressionNode, SqlRecordSetInfo, bool)
Creates a new SqlCreateViewNode instance.
[Pure]
public static SqlCreateViewNode ToCreateView(this SqlQueryExpressionNode node, SqlRecordSetInfo view, bool replaceIfExists = false)
Parameters
node
SqlQueryExpressionNodeUnderlying source query expression that defines this view.
view
SqlRecordSetInfoView's name.
replaceIfExists
boolSpecifies whether or not the view should be replaced if it already exists in DB. Equal to false by default.
Returns
- SqlCreateViewNode
New SqlCreateViewNode instance.
ToCte(SqlQueryExpressionNode, string)
Creates a new SqlOrdinalCommonTableExpressionNode instance.
[Pure]
public static SqlOrdinalCommonTableExpressionNode ToCte(this SqlQueryExpressionNode query, string name)
Parameters
query
SqlQueryExpressionNodeUnderlying query that defines this common table expression.
name
stringName of this common table expression.
Returns
ToExcept(SqlQueryExpressionNode)
Creates a new SqlCompoundQueryComponentNode instance with Except operator.
[Pure]
public static SqlCompoundQueryComponentNode ToExcept(this SqlQueryExpressionNode node)
Parameters
node
SqlQueryExpressionNodeUnderlying query.
Returns
- SqlCompoundQueryComponentNode
New SqlCompoundQueryComponentNode instance.
ToInsertInto(SqlQueryExpressionNode, SqlRecordSetNode, params SqlDataFieldNode[])
Creates a new SqlInsertIntoNode instance.
[Pure]
public static SqlInsertIntoNode ToInsertInto(this SqlQueryExpressionNode node, SqlRecordSetNode recordSet, params SqlDataFieldNode[] dataFields)
Parameters
node
SqlQueryExpressionNodeSqlQueryExpressionNode source of records to be inserted.
recordSet
SqlRecordSetNodeTable to insert into.
dataFields
SqlDataFieldNode[]Collection of record set data fields that this insertion refers to.
Returns
- SqlInsertIntoNode
New SqlInsertIntoNode instance.
ToInsertInto<TRecordSetNode>(SqlQueryExpressionNode, TRecordSetNode, Func<TRecordSetNode, IEnumerable<SqlDataFieldNode>>)
Creates a new SqlInsertIntoNode instance.
[Pure]
public static SqlInsertIntoNode ToInsertInto<TRecordSetNode>(this SqlQueryExpressionNode node, TRecordSetNode recordSet, Func<TRecordSetNode, IEnumerable<SqlDataFieldNode>> dataFields) where TRecordSetNode : SqlRecordSetNode
Parameters
node
SqlQueryExpressionNodeSqlQueryExpressionNode source of records to be inserted.
recordSet
TRecordSetNodeTable to insert into.
dataFields
Func<TRecordSetNode, IEnumerable<SqlDataFieldNode>>Provider of collection of record set data fields that this insertion refers to.
Returns
- SqlInsertIntoNode
New SqlInsertIntoNode instance.
Type Parameters
TRecordSetNode
ToIntersect(SqlQueryExpressionNode)
Creates a new SqlCompoundQueryComponentNode instance with Intersect operator.
[Pure]
public static SqlCompoundQueryComponentNode ToIntersect(this SqlQueryExpressionNode node)
Parameters
node
SqlQueryExpressionNodeUnderlying query.
Returns
- SqlCompoundQueryComponentNode
New SqlCompoundQueryComponentNode instance.
ToRecursive(SqlOrdinalCommonTableExpressionNode, params SqlCompoundQueryComponentNode[])
Creates a new SqlRecursiveCommonTableExpressionNode instance.
[Pure]
public static SqlRecursiveCommonTableExpressionNode ToRecursive(this SqlOrdinalCommonTableExpressionNode node, params SqlCompoundQueryComponentNode[] components)
Parameters
node
SqlOrdinalCommonTableExpressionNodeOrdinal common table expression that defines the non-recursive portion of the recursive common table expression.
components
SqlCompoundQueryComponentNode[]Collection of recursive queries that sequentially follow after the first non-recursive query defined by the ordinal common table expression.
Returns
ToRecursive(SqlOrdinalCommonTableExpressionNode, IEnumerable<SqlCompoundQueryComponentNode>)
Creates a new SqlRecursiveCommonTableExpressionNode instance.
[Pure]
public static SqlRecursiveCommonTableExpressionNode ToRecursive(this SqlOrdinalCommonTableExpressionNode node, IEnumerable<SqlCompoundQueryComponentNode> components)
Parameters
node
SqlOrdinalCommonTableExpressionNodeOrdinal common table expression that defines the non-recursive portion of the recursive common table expression.
components
IEnumerable<SqlCompoundQueryComponentNode>Collection of recursive queries that sequentially follow after the first non-recursive query defined by the ordinal common table expression.
Returns
ToRecursive(SqlOrdinalCommonTableExpressionNode, Func<SqlCommonTableExpressionRecordSetNode, IEnumerable<SqlCompoundQueryComponentNode>>)
Creates a new SqlRecursiveCommonTableExpressionNode instance.
[Pure]
public static SqlRecursiveCommonTableExpressionNode ToRecursive(this SqlOrdinalCommonTableExpressionNode node, Func<SqlCommonTableExpressionRecordSetNode, IEnumerable<SqlCompoundQueryComponentNode>> components)
Parameters
node
SqlOrdinalCommonTableExpressionNodeOrdinal common table expression that defines the non-recursive portion of the recursive common table expression.
components
Func<SqlCommonTableExpressionRecordSetNode, IEnumerable<SqlCompoundQueryComponentNode>>Provider of collection of recursive queries that sequentially follow after the first non-recursive query defined by the ordinal common table expression.
Returns
ToRecursiveCte(SqlCompoundQueryExpressionNode, string)
Creates a new SqlRecursiveCommonTableExpressionNode instance.
[Pure]
public static SqlRecursiveCommonTableExpressionNode ToRecursiveCte(this SqlCompoundQueryExpressionNode query, string name)
Parameters
query
SqlCompoundQueryExpressionNodeUnderlying query that defines this common table expression.
name
stringName of this common table expression.
Returns
ToUnion(SqlQueryExpressionNode)
Creates a new SqlCompoundQueryComponentNode instance with Union operator.
[Pure]
public static SqlCompoundQueryComponentNode ToUnion(this SqlQueryExpressionNode node)
Parameters
node
SqlQueryExpressionNodeUnderlying query.
Returns
- SqlCompoundQueryComponentNode
New SqlCompoundQueryComponentNode instance.
ToUnionAll(SqlQueryExpressionNode)
Creates a new SqlCompoundQueryComponentNode instance with UnionAll operator.
[Pure]
public static SqlCompoundQueryComponentNode ToUnionAll(this SqlQueryExpressionNode node)
Parameters
node
SqlQueryExpressionNodeUnderlying query.
Returns
- SqlCompoundQueryComponentNode
New SqlCompoundQueryComponentNode instance.
ToUpsert(SqlQueryExpressionNode, SqlRecordSetNode, ReadOnlyArray<SqlDataFieldNode>, Func<SqlRecordSetNode, SqlInternalRecordSetNode, IEnumerable<SqlValueAssignmentNode>>, ReadOnlyArray<SqlDataFieldNode>?)
Creates a new SqlUpsertNode instance.
[Pure]
public static SqlUpsertNode ToUpsert(this SqlQueryExpressionNode node, SqlRecordSetNode recordSet, ReadOnlyArray<SqlDataFieldNode> insertDataFields, Func<SqlRecordSetNode, SqlInternalRecordSetNode, IEnumerable<SqlValueAssignmentNode>> updateAssignments, ReadOnlyArray<SqlDataFieldNode>? conflictTarget = null)
Parameters
node
SqlQueryExpressionNodeSqlQueryExpressionNode source of records to be inserted or updated.
recordSet
SqlRecordSetNodeTable to upsert into.
insertDataFields
ReadOnlyArray<SqlDataFieldNode>Collection of record set data fields that the insertion part of this upsert refers to.
updateAssignments
Func<SqlRecordSetNode, SqlInternalRecordSetNode, IEnumerable<SqlValueAssignmentNode>>Provider of a collection of value assignments that the update part of this upsert refers to. The first parameter is the table to upsert into and the second parameter is the UpdateSource of the created upsert node.
conflictTarget
ReadOnlyArray<SqlDataFieldNode>?Optional collection of data fields from the table that define the insertion conflict target. Empty conflict target may cause the table's primary key to be used instead. Equal to null by default.
Returns
- SqlUpsertNode
New SqlUpsertNode instance.
ToUpsert<TRecordSetNode>(SqlQueryExpressionNode, TRecordSetNode, Func<TRecordSetNode, IEnumerable<SqlDataFieldNode>>, Func<TRecordSetNode, SqlInternalRecordSetNode, IEnumerable<SqlValueAssignmentNode>>, Func<TRecordSetNode, IEnumerable<SqlDataFieldNode>>?)
Creates a new SqlUpsertNode instance.
[Pure]
public static SqlUpsertNode ToUpsert<TRecordSetNode>(this SqlQueryExpressionNode node, TRecordSetNode recordSet, Func<TRecordSetNode, IEnumerable<SqlDataFieldNode>> insertDataFields, Func<TRecordSetNode, SqlInternalRecordSetNode, IEnumerable<SqlValueAssignmentNode>> updateAssignments, Func<TRecordSetNode, IEnumerable<SqlDataFieldNode>>? conflictTarget = null) where TRecordSetNode : SqlRecordSetNode
Parameters
node
SqlQueryExpressionNodeSqlQueryExpressionNode source of records to be inserted or updated.
recordSet
TRecordSetNodeTable to upsert into.
insertDataFields
Func<TRecordSetNode, IEnumerable<SqlDataFieldNode>>Provider of collection of record set data fields that the insertion part of this upsert refers to.
updateAssignments
Func<TRecordSetNode, SqlInternalRecordSetNode, IEnumerable<SqlValueAssignmentNode>>Provider of a collection of value assignments that the update part of this upsert refers to. The first parameter is the table to upsert into and the second parameter is the UpdateSource of the created upsert node.
conflictTarget
Func<TRecordSetNode, IEnumerable<SqlDataFieldNode>>Optional provider of collection of data fields from the table that define the insertion conflict target. Empty conflict target may cause the table's primary key to be used instead. Equal to null by default.
Returns
- SqlUpsertNode
New SqlUpsertNode instance.
Type Parameters
TRecordSetNode
Window<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>, params SqlWindowDefinitionNode[])
Decorates the provided SQL query node with an SqlWindowDefinitionTraitNode.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> Window<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node, params SqlWindowDefinitionNode[] windows) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
windows
SqlWindowDefinitionNode[]Collection of window definitions.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNode
SQL data source node type.
Window<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>, IEnumerable<SqlWindowDefinitionNode>)
Decorates the provided SQL query node with an SqlWindowDefinitionTraitNode.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> Window<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node, IEnumerable<SqlWindowDefinitionNode> windows) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
windows
IEnumerable<SqlWindowDefinitionNode>Collection of window definitions.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNode
SQL data source node type.
Window<TDataSourceNode>(SqlDataSourceQueryExpressionNode<TDataSourceNode>, Func<TDataSourceNode, IEnumerable<SqlWindowDefinitionNode>>)
Decorates the provided SQL query node with an SqlWindowDefinitionTraitNode.
[Pure]
public static SqlDataSourceQueryExpressionNode<TDataSourceNode> Window<TDataSourceNode>(this SqlDataSourceQueryExpressionNode<TDataSourceNode> node, Func<TDataSourceNode, IEnumerable<SqlWindowDefinitionNode>> windows) where TDataSourceNode : SqlDataSourceNode
Parameters
node
SqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
windows
Func<TDataSourceNode, IEnumerable<SqlWindowDefinitionNode>>Provider of collection of window definitions.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNode
SQL data source node type.
With<TQueryExpressionNode>(TQueryExpressionNode, params SqlCommonTableExpressionNode[])
Decorates the provided SQL query node with an SqlCommonTableExpressionTraitNode.
[Pure]
public static TQueryExpressionNode With<TQueryExpressionNode>(this TQueryExpressionNode node, params SqlCommonTableExpressionNode[] commonTableExpressions) where TQueryExpressionNode : SqlExtendableQueryExpressionNode
Parameters
node
TQueryExpressionNodeQuery node to decorate.
commonTableExpressions
SqlCommonTableExpressionNode[]Collection of common table expressions.
Returns
- TQueryExpressionNode
Decorated SQL query node.
Type Parameters
TQueryExpressionNode
SQL query node type.
With<TQueryExpressionNode>(TQueryExpressionNode, IEnumerable<SqlCommonTableExpressionNode>)
Decorates the provided SQL query node with an SqlCommonTableExpressionTraitNode.
[Pure]
public static TQueryExpressionNode With<TQueryExpressionNode>(this TQueryExpressionNode node, IEnumerable<SqlCommonTableExpressionNode> commonTableExpressions) where TQueryExpressionNode : SqlExtendableQueryExpressionNode
Parameters
node
TQueryExpressionNodeQuery node to decorate.
commonTableExpressions
IEnumerable<SqlCommonTableExpressionNode>Collection of common table expressions.
Returns
- TQueryExpressionNode
Decorated SQL query node.
Type Parameters
TQueryExpressionNode
SQL query node type.
With<TQueryExpressionNode>(TQueryExpressionNode, Func<TQueryExpressionNode, IEnumerable<SqlCommonTableExpressionNode>>)
Decorates the provided SQL query node with an SqlCommonTableExpressionTraitNode.
[Pure]
public static TQueryExpressionNode With<TQueryExpressionNode>(this TQueryExpressionNode node, Func<TQueryExpressionNode, IEnumerable<SqlCommonTableExpressionNode>> commonTableExpressions) where TQueryExpressionNode : SqlExtendableQueryExpressionNode
Parameters
node
TQueryExpressionNodeQuery node to decorate.
commonTableExpressions
Func<TQueryExpressionNode, IEnumerable<SqlCommonTableExpressionNode>>Provider of collection of common table expressions.
Returns
- TQueryExpressionNode
Decorated SQL query node.
Type Parameters
TQueryExpressionNode
SQL query node type.