DataReaderExtensions.IsDBNullAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
异步获取一个值,该值指示列中是否包含不存在的或缺少的值。
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)异常。