DataReaderExtensions.IsDBNullAsync Метод

Определение

Асинхронно получает значение, указывающее, содержит ли столбец отсутствующие или отсутствующие значения.

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

Параметры

reader
DbDataReader

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

name
String

Имя столбца.

cancellationToken
CancellationToken

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

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

Свойство Task<TResult> , свойство которого Result равно true указанному значению DBNull столбца или false если это не так.

Исключения

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

–или–

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

–или–

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

–или–

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

–или–

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

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

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

Комментарии

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

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

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

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

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

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

Этот метод сохраняет в задаче все исключения без использования, которые может вызывать синхронный аналог метода. Если исключение хранится в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему выбрасываются синхронно. Сведения о сохраненных исключениях см. в исключениях, создаваемых IsDBNull(DbDataReader, String).

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