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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
filterSqlConditionNodeUnderlying predicate.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNodeSQL 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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
filterFunc<TDataSourceNode, SqlConditionNode>Underlying predicate provider.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNodeSQL 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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
filterSqlConditionNodeUnderlying predicate.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNodeSQL 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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
filterFunc<TDataSourceNode, SqlConditionNode>Underlying predicate provider.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNodeSQL data source node type.
AsSet(SqlQueryExpressionNode, string)
Creates a new SqlQueryRecordSetNode instance.
[Pure]
public static SqlQueryRecordSetNode AsSet(this SqlQueryExpressionNode node, string alias)
Parameters
nodeSqlQueryExpressionNodeUnderlying SqlQueryExpressionNode instance.
aliasstringAlias 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
nodeSqlQueryExpressionNodeFirst underlying query.
followingQueriesSqlCompoundQueryComponentNode[]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
nodeSqlQueryExpressionNodeFirst underlying query.
followingQueriesIEnumerable<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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNodeSQL data source node type.
Exists(SqlQueryExpressionNode)
Creates a new SqlExistsConditionNode instance.
[Pure]
public static SqlExistsConditionNode Exists(this SqlQueryExpressionNode node)
Parameters
nodeSqlQueryExpressionNodeSub-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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
expressionsSqlExpressionNode[]Collection of expressions to aggregate by.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNodeSQL 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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
expressionsIEnumerable<SqlExpressionNode>Collection of expressions to aggregate by.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNodeSQL 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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
expressionsFunc<TDataSourceNode, IEnumerable<SqlExpressionNode>>Provider of collection of expressions to aggregate by.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNodeSQL 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
nodeTQueryExpressionNodeQuery node to decorate.
valueSqlExpressionNodeUnderlying value.
Returns
- TQueryExpressionNode
Decorated SQL query node.
Type Parameters
TQueryExpressionNodeSQL query node type.
NotExists(SqlQueryExpressionNode)
Creates a new negated SqlExistsConditionNode instance.
[Pure]
public static SqlExistsConditionNode NotExists(this SqlQueryExpressionNode node)
Parameters
nodeSqlQueryExpressionNodeSub-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
nodeTQueryExpressionNodeQuery node to decorate.
valueSqlExpressionNodeUnderlying value.
Returns
- TQueryExpressionNode
Decorated SQL query node.
Type Parameters
TQueryExpressionNodeSQL 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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
filterSqlConditionNodeUnderlying predicate.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNodeSQL 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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
filterFunc<TDataSourceNode, SqlConditionNode>Underlying predicate provider.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNodeSQL 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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
filterSqlConditionNodeUnderlying predicate.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNodeSQL 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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
filterFunc<TDataSourceNode, SqlConditionNode>Underlying predicate provider.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNodeSQL 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
nodeTQueryExpressionNodeQuery node to decorate.
orderingSqlOrderByNode[]Collection of ordering definitions.
Returns
- TQueryExpressionNode
Decorated SQL query node.
Type Parameters
TQueryExpressionNodeSQL 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
nodeTQueryExpressionNodeQuery node to decorate.
orderingIEnumerable<SqlOrderByNode>Collection of ordering definitions.
Returns
- TQueryExpressionNode
Decorated SQL query node.
Type Parameters
TQueryExpressionNodeSQL 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
nodeTQueryExpressionNodeQuery node to decorate.
orderingFunc<TQueryExpressionNode, IEnumerable<SqlOrderByNode>>Provider of collection of ordering definitions.
Returns
- TQueryExpressionNode
Decorated SQL query node.
Type Parameters
TQueryExpressionNodeSQL 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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Source query.
selectionIEnumerable<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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Source query.
selectorFunc<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
nodeSqlQueryExpressionNodeUnderlying query.
operatorSqlCompoundQueryOperatorCompound 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
nodeSqlQueryExpressionNodeUnderlying source query expression that defines this view.
viewSqlRecordSetInfoView's name.
replaceIfExistsboolSpecifies 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
querySqlQueryExpressionNodeUnderlying query that defines this common table expression.
namestringName 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
nodeSqlQueryExpressionNodeUnderlying 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
nodeSqlQueryExpressionNodeSqlQueryExpressionNode source of records to be inserted.
recordSetSqlRecordSetNodeTable to insert into.
dataFieldsSqlDataFieldNode[]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
nodeSqlQueryExpressionNodeSqlQueryExpressionNode source of records to be inserted.
recordSetTRecordSetNodeTable to insert into.
dataFieldsFunc<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
nodeSqlQueryExpressionNodeUnderlying 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
nodeSqlOrdinalCommonTableExpressionNodeOrdinal common table expression that defines the non-recursive portion of the recursive common table expression.
componentsSqlCompoundQueryComponentNode[]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
nodeSqlOrdinalCommonTableExpressionNodeOrdinal common table expression that defines the non-recursive portion of the recursive common table expression.
componentsIEnumerable<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
nodeSqlOrdinalCommonTableExpressionNodeOrdinal common table expression that defines the non-recursive portion of the recursive common table expression.
componentsFunc<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
querySqlCompoundQueryExpressionNodeUnderlying query that defines this common table expression.
namestringName 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
nodeSqlQueryExpressionNodeUnderlying 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
nodeSqlQueryExpressionNodeUnderlying 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
nodeSqlQueryExpressionNodeSqlQueryExpressionNode source of records to be inserted or updated.
recordSetSqlRecordSetNodeTable to upsert into.
insertDataFieldsReadOnlyArray<SqlDataFieldNode>Collection of record set data fields that the insertion part of this upsert refers to.
updateAssignmentsFunc<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.
conflictTargetReadOnlyArray<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
nodeSqlQueryExpressionNodeSqlQueryExpressionNode source of records to be inserted or updated.
recordSetTRecordSetNodeTable to upsert into.
insertDataFieldsFunc<TRecordSetNode, IEnumerable<SqlDataFieldNode>>Provider of collection of record set data fields that the insertion part of this upsert refers to.
updateAssignmentsFunc<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.
conflictTargetFunc<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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
windowsSqlWindowDefinitionNode[]Collection of window definitions.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNodeSQL 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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
windowsIEnumerable<SqlWindowDefinitionNode>Collection of window definitions.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNodeSQL 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
nodeSqlDataSourceQueryExpressionNode<TDataSourceNode>Query node to decorate.
windowsFunc<TDataSourceNode, IEnumerable<SqlWindowDefinitionNode>>Provider of collection of window definitions.
Returns
- SqlDataSourceQueryExpressionNode<TDataSourceNode>
Decorated SQL query node.
Type Parameters
TDataSourceNodeSQL 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
nodeTQueryExpressionNodeQuery node to decorate.
commonTableExpressionsSqlCommonTableExpressionNode[]Collection of common table expressions.
Returns
- TQueryExpressionNode
Decorated SQL query node.
Type Parameters
TQueryExpressionNodeSQL 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
nodeTQueryExpressionNodeQuery node to decorate.
commonTableExpressionsIEnumerable<SqlCommonTableExpressionNode>Collection of common table expressions.
Returns
- TQueryExpressionNode
Decorated SQL query node.
Type Parameters
TQueryExpressionNodeSQL 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
nodeTQueryExpressionNodeQuery node to decorate.
commonTableExpressionsFunc<TQueryExpressionNode, IEnumerable<SqlCommonTableExpressionNode>>Provider of collection of common table expressions.
Returns
- TQueryExpressionNode
Decorated SQL query node.
Type Parameters
TQueryExpressionNodeSQL query node type.