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 не должны вызываться, когда возвращаемая задача еще не завершена.