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
Необязательный маркер для отмены асинхронной операции.
Возвращаемое значение
Задача, содержащая Result значение указанного столбца.
Исключения
Подключение было удалено или закрыто во время извлечения данных.
–или–
Средство чтения данных было закрыто во время извлечения данных.
–или–
Нет данных, готовых к чтению (например, первый Read() не был вызван или возвращен).false
–или–
Попыталась считывать столбец ранее считываемого в последовательном режиме.
–или–
Выполняется асинхронная операция. Это относится ко всем методам Get_*_ при выполнении в последовательном режиме, так как они могут вызываться при чтении потока.
Указанное имя не является допустимым именем столбца.
Значение, возвращаемое базой данных, не соответствует или не может быть приведение к T.
Маркер отмены был отменен. Это исключение хранится в возвращаемой задаче.
Комментарии
Этот асинхронный метод необходим только для предотвращения блокировки вызывающего потока при создании средства чтения в последовательном режиме.
Если последовательный режим не указан, все значения столбцов должны быть доступны в памяти при каждом завершении ReadAsync, и вызов синхронной версии метода не должен блокировать вызывающий поток.
Реализация этого асинхронного метода по умолчанию вызывает его синхронный аналог и возвращает завершенную задачу, потенциально блокируя вызывающий поток. Реализация по умолчанию также возвращает отмененную задачу при передаче уже отмененного маркера отмены.
Поставщики данных, поддерживающие асинхронное программирование, должны переопределить переопределение по умолчанию с помощью асинхронных операций ввода-вывода.
Этот метод принимает маркер отмены, который можно использовать для запроса на отмену операции раньше. Реализации могут игнорировать этот запрос.
Другие методы и свойства объекта DbDataReader не должны вызываться, пока возвращенная задача еще не завершена.