Class SqlSingleDataSourceNode<TRecordSetNode>
- Namespace
- LfrlAnvil.Sql.Expressions.Objects
- Assembly
- LfrlAnvil.Sql.Core.dll
Represents an SQL syntax tree node that defines a single data source from a single SqlRecordSetNode instance.
public sealed class SqlSingleDataSourceNode<TRecordSetNode> : SqlDataSourceNode where TRecordSetNode : SqlRecordSetNode
Type Parameters
TRecordSetNode
SQL record set node type.
- Inheritance
-
SqlSingleDataSourceNode<TRecordSetNode>
- Inherited Members
- Extension Methods
Properties
From
First SqlRecordSetNode instance from which this data source's definition begins.
public override TRecordSetNode From { get; }
Property Value
- TRecordSetNode
this[string]
Gets a record set associated with this data source by its identifier.
public TRecordSetNode this[string identifier] { get; }
Parameters
identifier
string
Property Value
- TRecordSetNode
Exceptions
- KeyNotFoundException
When record set does not exist.
Joins
Sequential collection of all SqlDataSourceJoinOnNode instances that define this data source.
public override ReadOnlyArray<SqlDataSourceJoinOnNode> Joins { get; }
Property Value
RecordSets
Collection of all record sets contained by this data source.
public override IReadOnlyCollection<SqlRecordSetNode> RecordSets { get; }
Property Value
Methods
AddTrait(SqlTraitNode)
Creates a new SQL data source syntax tree node by adding a new trait
.
[Pure]
public override SqlSingleDataSourceNode<TRecordSetNode> AddTrait(SqlTraitNode trait)
Parameters
trait
SqlTraitNodeTrait to add.
Returns
- SqlSingleDataSourceNode<TRecordSetNode>
New SQL data source syntax tree node.
GetRecordSet(string)
Returns a record set associated with this data source by its identifier
.
[Pure]
public override TRecordSetNode GetRecordSet(string identifier)
Parameters
identifier
stringRecord set's Identifier.
Returns
- TRecordSetNode
SqlRecordSetNode instance associated with the provided
identifier
.
Exceptions
- KeyNotFoundException
When record set does not exist.
SetTraits(Chain<SqlTraitNode>)
Creates a new SQL data source syntax tree node by changing the Traits collection.
[Pure]
public override SqlSingleDataSourceNode<TRecordSetNode> SetTraits(Chain<SqlTraitNode> traits)
Parameters
traits
Chain<SqlTraitNode>Collection of traits to set.
Returns
- SqlSingleDataSourceNode<TRecordSetNode>
New SQL data source syntax tree node.