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>,如果指定的列值等于 DBNull,则其 Result 属性为 true,如果不等于,则为 false

例外

在数据检索期间删除或关闭连接。

- 或 -

在数据检索期间关闭数据读取器。

- 或 -

没有要读取的就绪数据 (例如,第一个 Read() 未被调用或返回错误)。

- 或 -

按顺序模式尝试读取上一步骤中读取的列。

- 或 -

没有正在进行的异步操作。 以顺序模式运行时,这适用于所有 Get* 方法,读取流时也可对其进行调用。

指定的名称不是有效的列名。

取消令牌已取消。 此异常存储在返回的任务中。

注解

仅当以顺序模式创建读取器时,才需要此异步方法以避免阻止调用线程。

如果未指定顺序模式,则每次 ReadAsync 完成时,所有列值都应在内存中可用,并且调用方法的同步版本不应阻止调用线程。

此异步方法的默认实现调用其同步对应方法并返回已完成的任务,这可能会阻止调用线程。 如果传递了已取消的取消令牌,则默认实现还会返回已取消的任务。

支持 异步编程 的数据提供程序应使用异步 I/O 操作替代默认实现。

该方法可用于请求操作之前接受取消标记。 实现可能会忽略该请求。

当返回任务还未完成时, DbDataReader 对象的其他方法和属性不应调用 。

此方法存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 IsDBNull(DbDataReader, String)异常。

适用于