DataReaderExtensions.GetFieldValueAsync<T> Método

Definição

Assíncrono, obtém o valor da coluna especificada como o tipo solicitado.

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

Parâmetros de Tipo Genérico

T

O tipo do valor a devolver.

Parâmetros

reader
DbDataReader

O leitor de dados para obter o valor da coluna.

name
String

O nome da coluna.

cancellationToken
CancellationToken

Um token opcional para cancelar a operação assíncrona.

Devoluções

Task<T>

Uma tarefa que Result contém o valor da coluna especificada.

Exceções

A ligação foi cortada ou encerrada durante a recuperação dos dados.

-ou-

O leitor de dados foi encerrado durante a recuperação dos dados.

-ou-

Não há dados prontos para serem lidos (por exemplo, o primeiro Read() não foi chamado, ou devolveu-se false).

-ou-

Tentei ler uma coluna já lida em modo sequencial.

-ou-

Estava em curso uma operação assíncrona. Isto aplica-se a todos os métodos Get_*_ quando executados em modo sequencial, pois podem ser chamados ao ler um fluxo.

O nome especificado não é um nome de coluna válido.

O valor devolvido pela base de dados não corresponde ou não pode ser convertido para T.

O token de cancelamento foi cancelado. Esta exceção é armazenada na tarefa devolvida.

Observações

Este método assíncrono é necessário apenas para evitar bloquear o thread que chama quando o leitor é criado em modo sequencial.

Se o modo sequencial não for especificado, todos os valores das colunas devem ficar disponíveis na memória sempre que o ReadAsync termina, e chamar a versão síncrona do método não deve bloquear o thread que chama.

A implementação padrão deste método assíncrono invoca a sua contraparte síncrona e devolve uma Tarefa concluída, podendo potencialmente bloquear o thread que chama. A implementação por defeito também devolve uma tarefa cancelada se for recebida uma ficha de cancelamento já cancelada.

Os fornecedores de dados que suportam programação assíncrona devem sobrepor a infiltração padrão usando operações de E/S assíncronas.

Este método aceita um token de cancelamento que pode ser usado para pedir que a operação seja cancelada antecipadamente. As implementações podem ignorar este pedido.

Outros métodos e propriedades do objeto DbDataReader não devem ser invocados enquanto a tarefa devolvida ainda não estiver concluída.

Aplica-se a