DataReaderExtensions.IsDBNullAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém, de maneira assíncrona, um valor que indica se a coluna contém valores ausentes ou inexistente.
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)
Parâmetros
- reader
- DbDataReader
O leitor de dados do qual obter o valor da coluna.
- name
- String
O nome da coluna.
- cancellationToken
- CancellationToken
Um token opcional para cancelar a operação assíncrona.
Retornos
Um Task<TResult> cuja propriedade Result será true
se o valor da coluna especificada for equivalente a DBNull
ou será false
se não for.
Exceções
A conexão caiu ou foi fechada durante a recuperação de dados.
- ou -
O leitor de dados é fechado durante a recuperação de dados.
- ou -
Não há dados prontos para serem lidos (por exemplo, o primeiro Read() não foi chamado ou retornou false).
- ou -
Tentando ler uma coluna lida anteriormente no modo sequencial.
- ou -
Havia uma operação assíncrona em andamento. Isso se aplica a todos os métodos Get* executados no modo sequencial, pois eles podem ser chamados durante a leitura de um fluxo.
O nome especificado não é um nome de coluna válido.
O token de cancelamento foi cancelado. Essa exceção é armazenada na tarefa retornada.
Comentários
Esse método assíncrono só é necessário para evitar o bloqueio do thread de chamada quando o leitor é criado no modo sequencial.
Se o modo sequencial não for especificado, todos os valores de coluna deverão ficar disponíveis na memória sempre que ReadAsync for concluído e chamar a versão síncrona do método não deve bloquear o thread de chamada.
A implementação padrão desse método assíncrono invoca sua contraparte síncrona e retorna uma Tarefa concluída, potencialmente bloqueando o thread de chamada. A implementação padrão também retornará uma tarefa cancelada se for aprovada um token de cancelamento já cancelado.
Os provedores de dados que dão suporte à programação assíncrona devem substituir a inmpleção padrão usando operações de E/S assíncronas.
Esse método aceita um token de cancelamento que pode ser usado para solicitar a operação a ser cancelada no início. As implementações podem ignorar essa solicitação.
Outros métodos e propriedades do objeto DbDataReader não devem ser chamados enquanto a Tarefa retornada ainda não tiver sido concluída.
Esse método armazena na tarefa que retorna todas as exceções de não uso que a contraparte síncrona do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas por IsDBNull(DbDataReader, String).