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).