DataReaderExtensions.GetFieldValueAsync<T> Метод

Определение

Асинхронно получает значение указанного столбца в качестве запрошенного типа.

public static System.Threading.Tasks.Task<T> GetFieldValueAsync<T>(this System.Data.Common.DbDataReader reader, string name, System.Threading.CancellationToken cancellationToken = default);
static member GetFieldValueAsync : System.Data.Common.DbDataReader * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
<Extension()>
Public Function GetFieldValueAsync(Of T) (reader As DbDataReader, name As String, Optional cancellationToken As CancellationToken = Nothing) As Task(Of T)

Параметры типа

T

Тип возвращаемого значения.

Параметры

reader
DbDataReader

Средство чтения данных для получения значения столбца.

name
String

Имя столбца.

cancellationToken
CancellationToken

Необязательный маркер для отмены асинхронной операции.

Возвращаемое значение

Task<T>

Задача, содержащая Result значение указанного столбца.

Исключения

Подключение было удалено или закрыто во время извлечения данных.

–или–

Средство чтения данных было закрыто во время извлечения данных.

–или–

Нет данных, готовых к чтению (например, первый Read() не был вызван или возвращен).false

–или–

Попыталась считывать столбец ранее считываемого в последовательном режиме.

–или–

Выполняется асинхронная операция. Это относится ко всем методам Get_*_ при выполнении в последовательном режиме, так как они могут вызываться при чтении потока.

Указанное имя не является допустимым именем столбца.

Значение, возвращаемое базой данных, не соответствует или не может быть приведение к T.

Маркер отмены был отменен. Это исключение хранится в возвращаемой задаче.

Комментарии

Этот асинхронный метод необходим только для предотвращения блокировки вызывающего потока при создании средства чтения в последовательном режиме.

Если последовательный режим не указан, все значения столбцов должны быть доступны в памяти при каждом завершении ReadAsync, и вызов синхронной версии метода не должен блокировать вызывающий поток.

Реализация этого асинхронного метода по умолчанию вызывает его синхронный аналог и возвращает завершенную задачу, потенциально блокируя вызывающий поток. Реализация по умолчанию также возвращает отмененную задачу при передаче уже отмененного маркера отмены.

Поставщики данных, поддерживающие асинхронное программирование, должны переопределить переопределение по умолчанию с помощью асинхронных операций ввода-вывода.

Этот метод принимает маркер отмены, который можно использовать для запроса на отмену операции раньше. Реализации могут игнорировать этот запрос.

Другие методы и свойства объекта DbDataReader не должны вызываться, пока возвращенная задача еще не завершена.

Применяется к