DbManager - класс

Объект, управляющий взаимодействием с базой данных.

Definition

Пространство имён: Tessa.Platform.Data
Сборка: Tessa (в Tessa.dll) Версия: 4.0.4
C#
public class DbManager : IDataParameterFactory, IAsyncDisposable
Inheritance
Object    DbManager
Implements
IAsyncDisposable, IDataParameterFactory

Заметки

Наследники класса могут добавлять или переопределять методы.

Конструкторы

DbManager Создаёт объект со строкой подключения по умолчанию из файла конфигурации app.json.
Устарело.
DbManager(String) Создаёт объект по строке подключения из файла конфигурации app.json с заданным именем строки подключения.
Устарело.
DbManager(DataConnection, Boolean) Создаёт объект с указанием подключения к базе данных DataConnection. Указанное подключение будет освобождено при вызове метода DisposeAsync создаваемого объекта.
DbManager(IDataProvider, DbTransaction) Создаёт объект по заданному провайдеру и объекту транзакции, выполняемой для базы данных.
DbManager(IDataProvider, String) Создаёт объект по заданному провайдеру и тексту строки подключения.
DbManager(String, String) Создаёт объект по заданному провайдеру и тексту строки подключения.
DbManager(IDataProvider, DbConnection, Boolean) Создаёт объект по заданному провайдеру и объекту подключения к базе данных.

Свойства

BeforeCommandExecuted Функция, выполняемая перед каждым из методов ExecuteScalar, ExecuteReader, ExecuteNonQuery и их асинхронных версий.
CommandInfo Информация по последней команде, указанной методами SetCommand, или null, если такая команда отсутствует.
CommandInfoTimeout Таймаут в секундах, заданный методами SetCommandTimeout(Int32) или WithoutTimeout для последней команды, или null, если для последней команды используется таймаут по умолчанию.
CommandInitialized Функция, вызываемая при инициализации очередной команды для выполнения, и возвращающая эту команду. Если функция возвращает null или функция равна null, то используется переданная команда.
DataConnection Объект соединения с базой данных, посредством которого выполняются любые действия в текущем объекте.
Dbms Тип СУБД.
IsDisposedПризнак того, что ресурсы объекта были освобождены.
LeaveOpen Признак того, что объект соединения DataConnection освобождается вместе с текущим объектом.
QueryExecutorFlags Флаги, связанные с выполнением запросов для последней команды.

Методы

BeginTransactionAsync(CancellationToken) Асинхронно открывает транзакцию с уровнем изоляции по умолчанию.
BeginTransactionAsync(IsolationLevel, CancellationToken) Асинхронно открывает транзакцию с указанным уровнем изоляции.
CancelCommand Удаляет информацию по предыдущей добавленной команде без вызова SetCommand для указания новой команды. Используйте в том случае, если был вызван метод SetCommand (или аналогичный), но его выполнение было отменено.
CloseAsync Асинхронно закрывает соединение и освобождает занятые ресурсы, но позволяет продолжить использовать текущий объект, в отличие от метода DisposeAsync.
CommandHasData Возвращает признак того, что команда задана и содержит непустую строку.
CommitTransactionAsync Асинхронно выполняет коммит транзакции с уровнем изоляции по умолчанию.
DisposeAsyncОсвобождает ресурсы, занимаемые объектом.
DisposeAsync(Boolean)Освобождает ресурсы, занимаемые объектом.
EnsureConnectionAsync Асинхронно открывает соединение, если оно ещё не открыто.
EqualsDetermines whether the specified object is equal to the current object.
(Унаследован от Object)
ExecuteAsyncT Асинхронно выполняет SQL-команду и возвращает объект заданного типа. Объект может быть скалярным (простым типом) или нескалярным (классом или структурой).
ExecuteBytesAsync(CancellationToken) Выполняет асинхронное чтение массива байт из базы данных. Метод аналогичен вызову ExecuteAsyncT(CancellationToken) с указанием типа byte[], но он оптимизирован для чтения очень больших массивов байт (десятки мегабайт) и поддерживает асинхронную отмену до того, как массив будет полностью прочитан.
ExecuteBytesAsync(Int32, CancellationToken) Выполняет асинхронное чтение массива байт из базы данных. Метод аналогичен вызову ExecuteAsyncT(CancellationToken) с указанием типа byte[], но он оптимизирован для чтения очень больших массивов байт (десятки мегабайт) и поддерживает асинхронную отмену до того, как массив будет полностью прочитан.
ExecuteListAsyncT Асинхронно выполняет SQL-команду и возвращает список объектов. Объект может быть скалярным (простым типом) или нескалярным (классом или структурой).
ExecuteNonQueryAsync Асинхронно выполняет запрос, не возвращающий ResultSet, и возвращает количество строк, затронутых при выполнении. Например, количество вставленных строк для INSERT, изменённых для UPDATE или удалённых для DELETE.
ExecuteReaderAsync(CancellationToken) Создаёт объект для чтения данных по выполняемой SQL-команде.
ExecuteReaderAsync(CommandBehavior, CancellationToken) Создаёт объект для чтения данных по выполняемой SQL-команде с указанием поведения выполняемой команды. Выделение ресурсов при создании объекта выполняется асинхронно.
ExecuteSetXactAbortOnAsync Выполняет команду SET XACT_ABORT ON, которая устанавливает автоматический откат транзакции при ошибке в процессе выполнения SQL.
ExecuteStreamAsync(Boolean, CancellationToken) Возвращает поток с данными, полученный из запроса по установленной команде. Используйте в случае, когда запрос возвращает одну строку, в которой присутствует varbinary колонка с заданным индексом. Если запрос не вернул данных, то возвращает Null, но не возвращает null. Поток открывается асинхронно.
ExecuteStreamAsync(Int32, Boolean, CancellationToken) Возвращает поток с данными, полученный из запроса по установленной команде. Используйте в случае, когда запрос возвращает одну строку, в которой присутствует varbinary колонка с заданным индексом. Если запрос не вернул данных, то возвращает Null, но не возвращает null. Поток открывается асинхронно.
ExecuteStringAsync(CancellationToken) Выполняет асинхронное чтение строки из базы данных. Метод аналогичен вызову ExecuteAsyncT(CancellationToken) с указанием типа String, но он оптимизирован для чтения очень больших строк (десятки мегабайт) и поддерживает асинхронную отмену до того, как строка будет полностью прочитана.
ExecuteStringAsync(Int32, CancellationToken) Выполняет асинхронное чтение строки из базы данных. Метод аналогичен вызову ExecuteAsyncT(CancellationToken) с указанием типа String, но он оптимизирован для чтения очень больших строк (десятки мегабайт) и поддерживает асинхронную отмену до того, как строка будет полностью прочитана.
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Унаследован от Object)
GetCommandDataParameters Возвращает массив параметров текущей команды CommandInfo или пустой массив, если текущая команда отсутствует.
GetCommandText Возвращает текст текущей команды CommandInfo или null, если текущая команда отсутствует.
GetCommandTextWithParameters Возвращает текст команды вместе с параметрами в той форме, в которой он выводится для логирования LogCommand, или null, если команда не задана.
GetDataProvider Возвращает провайдер для заданных имени провайдера для строки подключения и текста строки подключения.
GetHashCodeServes as the default hash function.
(Унаследован от Object)
GetSqlServerDataProvider Возвращает рекомендуемый провайдер IDataProvider для использования совместно с MS SQL Server.
GetTypeGets the Type of the current instance.
(Унаследован от Object)
InputOutputParameter Создаёт смешанный (и передаваемый в запрос, и возвращаемый из запроса) параметр с указанием имени и значения. Тип данных определяется автоматически по значению. Другие свойства параметра можно задать через свойств возвращённого объекта.
InputParameter Создаёт входящий (передаваемый в запрос) параметр с указанием имени и значения. Тип данных определяется автоматически по значению. Другие свойства параметра можно задать через свойств возвращённого объекта.
LogCommand Записывает в логгер с именем SqlQueries SQL-выражение команды, которая задана в объекте DbManager. Если объект не содержит команду, то записи в лог не происходит.
MemberwiseCloneCreates a shallow copy of the current Object.
(Унаследован от Object)
OnDisposedAsync Действие, выполняемое при освобождении ресурсов, занимаемых объектом, в методе DisposeAsync. В реализации по умолчанию вызывает событие Disposed.
OutputParameter(String, Object) Создаёт исходящий (возвращаемый из запроса) параметр с указанием имени и значения. Тип данных определяется автоматически по значению. Другие свойства параметра можно задать через свойств возвращённого объекта.
OutputParameter(String, Object, DataType) Создаёт исходящий (возвращаемый из запроса) параметр с указанием имени, значения и типа данных из перечисления DataType. Другие свойства параметра можно задать через свойств возвращённого объекта.
OutputParameter(String, Object, DataType, Int32) Создаёт исходящий (возвращаемый из запроса) параметр с указанием имени, значения, типа данных из перечисления DataType и размера. Другие свойства параметра можно задать через свойств возвращённого объекта.
Parameter(String) Создаёт параметр с указанием имени. Другие свойства параметра можно задать через свойств возвращённого объекта.
Parameter(String, DataType) Создаёт параметр с указанием имени и типа данных из перечисления DataType. Другие свойства параметра можно задать через свойств возвращённого объекта.
Parameter(String, Object) Создаёт параметр с указанием имени и значения. Тип данных определяется автоматически по значению. Другие свойства параметра можно задать через свойств возвращённого объекта.
Parameter(ParameterDirection, String, DataType) Создаёт параметр с указанием направления использования, имени и типа данных из перечисления DataType. Другие свойства параметра можно задать через свойств возвращённого объекта.
Parameter(ParameterDirection, String, Object) Создаёт параметр с указанием направления использования, имени и значения. Другие свойства параметра можно задать через свойств возвращённого объекта.
Parameter(String, DataType, Int32) Создаёт параметр с указанием имени, типа данных из перечисления DataType и размера. Другие свойства параметра можно задать через свойств возвращённого объекта.
Parameter(String, Object, DataType) Создаёт параметр с указанием имени, значения и типа данных из перечисления DataType. Другие свойства параметра можно задать через свойств возвращённого объекта.
Parameter(ParameterDirection, String, DataType, Int32) Создаёт параметр с указанием направления использования, имени, типа данных из перечисления DataType и размера. Другие свойства параметра можно задать через свойств возвращённого объекта.
Parameter(ParameterDirection, String, Object, DataType) Создаёт параметр с указанием направления использования, имени, значения и типа данных из перечисления DataType. Другие свойства параметра можно задать через свойств возвращённого объекта.
Parameter(String, Object, DataType, Int32) Создаёт параметр с указанием имени, значения, типа данных из перечисления DataType и размера. Другие свойства параметра можно задать через свойств возвращённого объекта.
Parameter(ParameterDirection, String, Object, DataType, Int32) Создаёт параметр с указанием направления использования, имени, значения, типа данных из перечисления DataType и размера. Другие свойства параметра можно задать через свойств возвращённого объекта.
ResolveParameterType Определяет тип параметра в зависимости от маппинга для текущего соединения. Заменяет DataType на тип, вычисленный для значения.
ResolveTypeAndRecreateParameterIfRequired Возвращает параметр, у которого тип данных DataType определён из значения объекта. Это либо ссылка на параметр parameter, либо новый объект DataParameter с изменённым DataType. Переданный объект parameter не изменяется.
RollbackTransactionAsync Асинхронно выполняет откат транзакции с уровнем изоляции по умолчанию.
SetCommand(String) Подготавливает команду для выполнения с указанием SQL-выражения команды.
SetCommand(CommandType, String) Подготавливает команду для выполнения с указанием типа команды и её SQL-выражения.
SetCommand(String, DataParameter) Подготавливает команду для выполнения с указанием SQL-выражения команды и её параметров.
SetCommand(CommandType, String, DataParameter) Подготавливает команду для выполнения с указанием типа команды, её SQL-выражения и параметров.
SetCommandTimeout Устанавливает таймаут для последней заданной команды.
SetSpCommand(String) Подготавливает команду для выполнения хранимой процедуры с указанием её имени.
SetSpCommand(String, DataParameter) Подготавливает команду для выполнения хранимой процедуры с указанием её имени и параметров.
ToStringReturns a string that represents the current object.
(Унаследован от Object)
WithFlags Задаёт флаги для выполнения запроса QueryExecutorFlags для ближайшей выполняемой команды. Флаги сбрасываются после выполнения команды.
WithoutParameters Отключает передачу параметров в запрос, в т.ч. неявный параметр ServerRequestParameterName. Рекомендуется указывать для запросов, связанных с созданием временных таблиц.
WithoutTimeout Устанавливает неограниченный таймаут для последней заданной команды.

События

Disposed Событие, выполняемое при освобождении ресурсов, занимаемых объектом, в методе DisposeAsync. В обработчиках событий возможно использование асинхронности посредством конструкции:
C#
var deferral = e.Defer();
try
{
    await ...
}
catch (Exception ex)
{
    deferral.SetException(ex);
}
finally
{
    deferral.Dispose();
}

Методы расширения

ExecuteSelectAsyncT
(Определяется DataExtensions)
ExecuteSelectFirstAsyncT
(Определяется DataExtensions)
ExecuteSelectFirstOrDefaultAsyncT
(Определяется DataExtensions)
ExecuteSelectFirstOrDefaultAsyncT
(Определяется DataExtensions)
Get
(Определяется ComHelper)
Invoke
(Определяется ComHelper)
SelectColumnTypeAsync

Выполняет запрос к метаинформации для текущей СУБД, чтобы получить тип заданной колонки в виде строки. Возвращает null, если таблица или колонка не найдена.

По возвращённой строке можно получить тип данных DataType, используя метод TryParseDataType(String, Dbms).


(Определяется DataExtensions)
Set
(Определяется ComHelper)
TryGetDbmsVersionAsync Делает запрос на получение версии СУБД.
(Определяется DataExtensions)

См. также