Table of Contents

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

ReadOnlyArray<SqlDataSourceJoinOnNode>

RecordSets

Collection of all record sets contained by this data source.

public override IReadOnlyCollection<SqlRecordSetNode> RecordSets { get; }

Property Value

IReadOnlyCollection<SqlRecordSetNode>

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 SqlTraitNode

Trait 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 string

Record 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.