Table of Contents

Class SelectStatement

Namespace
FluentCommand.Query.Generators
Assembly
FluentCommand.dll

Represents a complete SQL SELECT statement, including all clauses and expressions.

public record SelectStatement : IEquatable<SelectStatement>
Inheritance
SelectStatement
Implements
Inherited Members

Constructors

SelectStatement(SelectStatement)

protected SelectStatement(SelectStatement original)

Parameters

original SelectStatement

SelectStatement(IReadOnlyCollection<ColumnExpression>, IReadOnlyCollection<TableExpression>, IReadOnlyCollection<JoinExpression>, IReadOnlyCollection<WhereExpression>, IReadOnlyCollection<SortExpression>, IReadOnlyCollection<GroupExpression>, IReadOnlyCollection<LimitExpression>, IReadOnlyCollection<string>)

Represents a complete SQL SELECT statement, including all clauses and expressions.

public SelectStatement(IReadOnlyCollection<ColumnExpression> SelectExpressions, IReadOnlyCollection<TableExpression> FromExpressions, IReadOnlyCollection<JoinExpression> JoinExpressions, IReadOnlyCollection<WhereExpression> WhereExpressions, IReadOnlyCollection<SortExpression> SortExpressions, IReadOnlyCollection<GroupExpression> GroupExpressions, IReadOnlyCollection<LimitExpression> LimitExpressions, IReadOnlyCollection<string> CommentExpressions)

Parameters

SelectExpressions IReadOnlyCollection<ColumnExpression>

The columns or expressions to select.

FromExpressions IReadOnlyCollection<TableExpression>

The tables to select from.

JoinExpressions IReadOnlyCollection<JoinExpression>

The join clauses.

WhereExpressions IReadOnlyCollection<WhereExpression>

The WHERE clause conditions.

SortExpressions IReadOnlyCollection<SortExpression>

The ORDER BY clause expressions.

GroupExpressions IReadOnlyCollection<GroupExpression>

The GROUP BY clause expressions.

LimitExpressions IReadOnlyCollection<LimitExpression>

The LIMIT/OFFSET clause expressions.

CommentExpressions IReadOnlyCollection<string>

The comment expressions to include in the statement.

Properties

CommentExpressions

The comment expressions to include in the statement.

public IReadOnlyCollection<string> CommentExpressions { get; init; }

Property Value

IReadOnlyCollection<string>

EqualityContract

protected virtual Type EqualityContract { get; }

Property Value

Type

FromExpressions

The tables to select from.

public IReadOnlyCollection<TableExpression> FromExpressions { get; init; }

Property Value

IReadOnlyCollection<TableExpression>

GroupExpressions

The GROUP BY clause expressions.

public IReadOnlyCollection<GroupExpression> GroupExpressions { get; init; }

Property Value

IReadOnlyCollection<GroupExpression>

JoinExpressions

The join clauses.

public IReadOnlyCollection<JoinExpression> JoinExpressions { get; init; }

Property Value

IReadOnlyCollection<JoinExpression>

LimitExpressions

The LIMIT/OFFSET clause expressions.

public IReadOnlyCollection<LimitExpression> LimitExpressions { get; init; }

Property Value

IReadOnlyCollection<LimitExpression>

SelectExpressions

The columns or expressions to select.

public IReadOnlyCollection<ColumnExpression> SelectExpressions { get; init; }

Property Value

IReadOnlyCollection<ColumnExpression>

SortExpressions

The ORDER BY clause expressions.

public IReadOnlyCollection<SortExpression> SortExpressions { get; init; }

Property Value

IReadOnlyCollection<SortExpression>

WhereExpressions

The WHERE clause conditions.

public IReadOnlyCollection<WhereExpression> WhereExpressions { get; init; }

Property Value

IReadOnlyCollection<WhereExpression>

Methods

Deconstruct(out IReadOnlyCollection<ColumnExpression>, out IReadOnlyCollection<TableExpression>, out IReadOnlyCollection<JoinExpression>, out IReadOnlyCollection<WhereExpression>, out IReadOnlyCollection<SortExpression>, out IReadOnlyCollection<GroupExpression>, out IReadOnlyCollection<LimitExpression>, out IReadOnlyCollection<string>)

public void Deconstruct(out IReadOnlyCollection<ColumnExpression> SelectExpressions, out IReadOnlyCollection<TableExpression> FromExpressions, out IReadOnlyCollection<JoinExpression> JoinExpressions, out IReadOnlyCollection<WhereExpression> WhereExpressions, out IReadOnlyCollection<SortExpression> SortExpressions, out IReadOnlyCollection<GroupExpression> GroupExpressions, out IReadOnlyCollection<LimitExpression> LimitExpressions, out IReadOnlyCollection<string> CommentExpressions)

Parameters

SelectExpressions IReadOnlyCollection<ColumnExpression>
FromExpressions IReadOnlyCollection<TableExpression>
JoinExpressions IReadOnlyCollection<JoinExpression>
WhereExpressions IReadOnlyCollection<WhereExpression>
SortExpressions IReadOnlyCollection<SortExpression>
GroupExpressions IReadOnlyCollection<GroupExpression>
LimitExpressions IReadOnlyCollection<LimitExpression>
CommentExpressions IReadOnlyCollection<string>

Equals(SelectStatement?)

public virtual bool Equals(SelectStatement? other)

Parameters

other SelectStatement

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

PrintMembers(StringBuilder)

protected virtual bool PrintMembers(StringBuilder builder)

Parameters

builder StringBuilder

Returns

bool

ToString()

public override string ToString()

Returns

string

Operators

operator ==(SelectStatement?, SelectStatement?)

public static bool operator ==(SelectStatement? left, SelectStatement? right)

Parameters

left SelectStatement
right SelectStatement

Returns

bool

operator !=(SelectStatement?, SelectStatement?)

public static bool operator !=(SelectStatement? left, SelectStatement? right)

Parameters

left SelectStatement
right SelectStatement

Returns

bool