Class Select
Запрос на выборку данных.
Inherited Members
Namespace: Terrasoft.Core.DB
Assembly: Terrasoft.Core.dll
Syntax
public class Select : Query, IParametrizedQuery, ISqlGenerating, ICacheableQuery, ICloneable, IDBReadableCommand
Constructors
Select(Select)
Инициализирует новый экземпляр Select, являющийся клоном переданного запроса.
Declaration
public Select(Select source)
Parameters
Type | Name | Description |
---|---|---|
Select | source | Запрос на выборку данных, клон которого создается. |
Select(UserConnection)
Initialises a new instance of Select, using given user's connection.
Declaration
public Select(UserConnection userConnection)
Parameters
Type | Name | Description |
---|---|---|
UserConnection | userConnection | User's connection. |
Select(UserConnection, CancellationToken)
Initialises a new instance of Select, using given user's connection and a System.Threading.CancellationToken.
Declaration
public Select(UserConnection userConnection, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
UserConnection | userConnection | User's connection. |
System.Threading.CancellationToken | cancellationToken | Cancellation token to be passed to requests. |
Properties
CanReadUncommitedData
Признак, определяющий, будут ли попадать в результаты запроса данные, для которых не завершена транзакция.
Declaration
public bool CanReadUncommitedData { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Columns
Коллекция выражений колонок запроса.
Declaration
public QueryColumnExpressionCollection Columns { get; }
Property Value
Type | Description |
---|---|
QueryColumnExpressionCollection |
ConnectBySelect
ConnectBy select. Using for pageable hierarchical queries. Select.
Declaration
public Select ConnectBySelect { get; set; }
Property Value
Type | Description |
---|---|
Select |
HierarchicalOptions
Parameters for building hierarchical queries. HierarchicalSelectOptions.
Declaration
public HierarchicalSelectOptions HierarchicalOptions { get; set; }
Property Value
Type | Description |
---|---|
HierarchicalSelectOptions |
IsDistinct
Определяет, возвращает ли запрос только уникальные записи.
Declaration
public bool IsDistinct { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
OffsetFetchPaging
Determines if offset-fetch paging is using.
Declaration
public bool OffsetFetchPaging { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
PageableOptions
Parameters for paging query results. PageableSelectOptions.
Declaration
public PageableSelectOptions PageableOptions { get; set; }
Property Value
Type | Description |
---|---|
PageableSelectOptions |
QueryKind
Query kind, that is used to request special executor.
Declaration
public QueryKind QueryKind { get; }
Property Value
Type | Description |
---|---|
QueryKind |
QueryOptimize
Additional information about the query, that can by use to optimization DBEngine.
Declaration
public bool QueryOptimize { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
RowsOffset
Number of rows to skip.
Declaration
public int RowsOffset { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
SourceExpression
Выражение источника данных запроса.
Declaration
public QuerySourceExpression SourceExpression { get; set; }
Property Value
Type | Description |
---|---|
QuerySourceExpression |
Methods
AddColumn(QueryColumnExpression)
Declaration
protected void AddColumn(QueryColumnExpression columnExpression)
Parameters
Type | Name | Description |
---|---|---|
QueryColumnExpression | columnExpression |
AddFrom(QuerySourceExpression)
Declaration
protected void AddFrom(QuerySourceExpression sourceExpression)
Parameters
Type | Name | Description |
---|---|---|
QuerySourceExpression | sourceExpression |
As(String)
Добавляет указанный псевдоним для последнего заданного выражения запроса.
Declaration
public Select As(string alias)
Parameters
Type | Name | Description |
---|---|---|
System.String | alias | Псевдоним выражения запроса. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
BuildSqlText(StringBuilder)
Формирует текст запроса с использованием заданного экземпляра System.Text.StringBuilder.
Declaration
public override void BuildSqlText(StringBuilder sb)
Parameters
Type | Name | Description |
---|---|---|
System.Text.StringBuilder | sb | Экземпляр System.Text.StringBuilder, с помощью которого формируется текст запроса. |
Overrides
Clone()
Создает клон текущего экземпляра Select.
Declaration
public override object Clone()
Returns
Type | Description |
---|---|
System.Object | Новый экземпляр Select, представляющий копию текущего экземпляра. |
Overrides
Column(String)
Добавляет в коллекцию выражений колонок текущего запроса выражение для колонки с заданным псевдонимом.
Declaration
public Select Column(string sourceColumnAlias)
Parameters
Type | Name | Description |
---|---|---|
System.String | sourceColumnAlias | Псевдоним колонки. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
Column(String, String)
Добавляет в коллекцию выражений колонок текущего запроса выражение для колонки с заданным псевдонимом из указанного источника.
Declaration
public Select Column(string sourceAlias, string sourceColumnAlias)
Parameters
Type | Name | Description |
---|---|---|
System.String | sourceAlias | Псевдоним источника. |
System.String | sourceColumnAlias | Псевдоним колонки. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
Column(IQueryColumnExpressionConvertible)
Добавляет в текущую коллекцию выражений колонок переданное выражение.
Declaration
public Select Column(IQueryColumnExpressionConvertible expression)
Parameters
Type | Name | Description |
---|---|---|
IQueryColumnExpressionConvertible | expression | Выражение. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
Column(Query)
Добавляет в коллекцию выражений колонок текущего запроса выражение для переданного произвольного подзапроса.
Declaration
public Select Column(Query subSelectQuery)
Parameters
Type | Name | Description |
---|---|---|
Query | subSelectQuery | Произвольный подзапрос. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
Column(QueryCase)
Добавляет в коллекцию выражений колонок текущего запроса выражение для переданного оператора Case.
Declaration
public Select Column(QueryCase queryCase)
Parameters
Type | Name | Description |
---|---|---|
QueryCase | queryCase | Оператор Case запроса. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
Column(QueryColumnExpression)
Добавляет в текущую коллекцию выражений колонок переданное выражение колонки.
Declaration
public Select Column(QueryColumnExpression columnExpression)
Parameters
Type | Name | Description |
---|---|---|
QueryColumnExpression | columnExpression | Выражение колонки запроса. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
Column(QueryParameter)
Добавляет в текущую коллекцию выражений колонок выражения для переданного параметра запроса.
Declaration
public Select Column(QueryParameter queryParameter)
Parameters
Type | Name | Description |
---|---|---|
QueryParameter | queryParameter | Параметр запроса. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
Column(Select)
Добавляет в коллекцию выражений колонок текущего запроса выражение для переданного подзапроса на выборку.
Declaration
public Select Column(Select subSelect)
Parameters
Type | Name | Description |
---|---|---|
Select | subSelect | Подзапрос на выборку. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
CrossJoin(String)
Связывает с текущим запросом схему с указанным именем, используя перекрестное соединение.
Declaration
public Select CrossJoin(string schemaName)
Parameters
Type | Name | Description |
---|---|---|
System.String | schemaName | Имя связываемой схемы. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
CrossJoin(Query)
Связывает с текущим запросом указанный произвольный подзапроса, используя перекрестное соединение.
Declaration
public Select CrossJoin(Query subSelectQuery)
Parameters
Type | Name | Description |
---|---|---|
Query | subSelectQuery | Произвольный подзапрос. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
CrossJoin(QuerySourceExpression)
Связывает с текущим запросом указанное выражение, используя перекрестное соединение.
Declaration
public Select CrossJoin(QuerySourceExpression sourceExpression)
Parameters
Type | Name | Description |
---|---|---|
QuerySourceExpression | sourceExpression | Выражение для присоединяемого источника данных. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
CrossJoin(Select)
Связывает с текущим запросом указанный подзапрос на выборку, используя перекрестное соединение.
Declaration
public Select CrossJoin(Select subSelect)
Parameters
Type | Name | Description |
---|---|---|
Select | subSelect | Подзапрос на выборку. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
Distinct()
Добавляет к текущему запросу на выборку ключевое слово Distinct.
Declaration
public Select Distinct()
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
EnsureSpecialDBExecutor(UserConnection, QueryKind)
Declaration
protected DBExecutor EnsureSpecialDBExecutor(UserConnection userConnection, QueryKind queryKind)
Parameters
Type | Name | Description |
---|---|---|
UserConnection | userConnection | |
QueryKind | queryKind |
Returns
Type | Description |
---|---|
DBExecutor |
ExecuteReader(DBExecutor)
Executes SQL query using given instance of DBExecutor and returns System.Data.IDataReader for the resulting set of records.
Declaration
public IDataReader ExecuteReader(DBExecutor dbExecutor)
Parameters
Type | Name | Description |
---|---|---|
DBExecutor | dbExecutor | Instance of DBExecutor, to be used for SQL query. |
Returns
Type | Description |
---|---|
System.Data.IDataReader | Instance implementing System.Data.IDataReader for the resulting set of records. |
ExecuteReader(DBExecutor, CommandBehavior)
Executes SQL query using given instance of DBExecutor and returns System.Data.IDataReader for the resulting set of records.
Declaration
public IDataReader ExecuteReader(DBExecutor dbExecutor, CommandBehavior behavior)
Parameters
Type | Name | Description |
---|---|---|
DBExecutor | dbExecutor | Instance of DBExecutor, to be used for SQL query. |
System.Data.CommandBehavior | behavior | Provides a description of the results of the query and its effect on the database. |
Returns
Type | Description |
---|---|
System.Data.IDataReader | Instance implementing System.Data.IDataReader for the resulting set of records. |
ExecuteReader(Select.ExecuteReaderReadMethod)
Executes SQL query and executes delegate Select.ExecuteReaderReadMethod for each row of the resulting set of records.
Declaration
public void ExecuteReader(Select.ExecuteReaderReadMethod readMethod)
Parameters
Type | Name | Description |
---|---|---|
Select.ExecuteReaderReadMethod | readMethod |
ExecuteScalar<TResult>()
Executes the query and returns the first column of the first row in the result set returned by the query.
Declaration
public TResult ExecuteScalar<TResult>()
Returns
Type | Description |
---|---|
TResult | The first row in the result set of type |
Type Parameters
Name | Description |
---|---|
TResult | The type of the return value. |
ExecuteScalar<TResult>(DBExecutor)
Используя переданный экземпляр DBExecutor, выполняет текущий запрос на выборку и возвращает типизированный первый столбец первой записи результирующего набора, возвращаемого запросом.
Declaration
public TResult ExecuteScalar<TResult>(DBExecutor dbExecutor)
Parameters
Type | Name | Description |
---|---|---|
DBExecutor | dbExecutor | Экземпляр DBExecutor, с помощью которого выполняется запрос к базе данных. |
Returns
Type | Description |
---|---|
TResult | Первый столбец первой записи в результирующем наборе данных типа |
Type Parameters
Name | Description |
---|---|
TResult | Тип возвращаемого значения столбца. |
ExecuteScalarAsync<TResult>()
An asynchronous version of ExecuteScalar, which executes the query and returns the first column of the first row in the result set returned by the query.
Declaration
public Task<TResult> ExecuteScalarAsync<TResult>()
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<TResult> | A task representing the asynchronous operation. |
Type Parameters
Name | Description |
---|---|
TResult | The type of the return value. |
From(String)
Добавляет в качестве выражения источника данных текущего запроса схему с указанным именем.
Declaration
public Select From(string schemaName)
Parameters
Type | Name | Description |
---|---|---|
System.String | schemaName | Имя схемы. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
From(Query)
Добавляет в качестве выражения источника данных текущего запроса выражение для переданного произвольного подзапроса.
Declaration
public Select From(Query subSelectQuery)
Parameters
Type | Name | Description |
---|---|---|
Query | subSelectQuery | Произвольный подзапрос. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
From(QuerySourceExpression)
Добавляет в качестве выражения источника данных текущего запроса переданное выражение.
Declaration
public Select From(QuerySourceExpression sourceExpression)
Parameters
Type | Name | Description |
---|---|---|
QuerySourceExpression | sourceExpression | Выражение источника данных запроса. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
From(Select)
Добавляет в качестве выражения источника данных текущего запроса выражение для переданного подзапроса на выборку.
Declaration
public Select From(Select subSelect)
Parameters
Type | Name | Description |
---|---|---|
Select | subSelect | ПОдзапрос на выборку. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
GetSqlText()
Возвращает sql-текст текущего запроса.
Declaration
public override string GetSqlText()
Returns
Type | Description |
---|---|
System.String | Sql-текст текущего запроса. |
Overrides
GetUsingParameters()
Возвращает коллекцию используемых запросом параметров.
Declaration
public override QueryParameterCollection GetUsingParameters()
Returns
Type | Description |
---|---|
QueryParameterCollection | Коллекция параметров, используемых запросом. |
Overrides
OffsetFetch(Int32, Int32)
Adds offset-fetch clause to select.
Declaration
public Select OffsetFetch(int rowsOffset, int rowsCount)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | rowsOffset | Number of rows to skip. |
System.Int32 | rowsCount | Number of rows to select. |
Returns
Type | Description |
---|---|
Select | Modified select. |
Top(Int32)
Устанавливает количество первых записей, возвращаемых результирующим набором данных.
Declaration
public Select Top(int rowCount)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | rowCount | Количество первых записей результирующего набора. |
Returns
Type | Description |
---|---|
Select | Текущий экземпляр Select. |
ToPageable(PageableSelectOptions)
Преобразует текущий запрос к запросу с возможностью постраничного вывода с заданными параметрами.
Declaration
public Select ToPageable(PageableSelectOptions options)
Parameters
Type | Name | Description |
---|---|---|
PageableSelectOptions | options | Параметры постраничного вывода результатов запроса. |
Returns
Type | Description |
---|---|
Select | Запрос на выборку данных с постраничным выводом. |