DataReaderExtensions.GetFieldValueAsync<T> Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
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.