DataReaderExtensions.GetFieldValueAsync<T> Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Asynkront hämtar värdet för den angivna kolumnen som den begärda typen.
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)
Typparametrar
- T
Typ av värde som ska returneras.
Parametrar
- reader
- DbDataReader
Dataläsaren som kolumnvärdet ska hämtas från.
- name
- String
Kolumnens namn.
- cancellationToken
- CancellationToken
En valfri token för att avbryta den asynkrona åtgärden.
Returer
En uppgift vars Result innehåller värdet för den angivna kolumnen.
Undantag
Anslutningen togs bort eller stängdes under datahämtningen.
-eller-
Dataläsaren stängdes under datahämtningen.
-eller-
Det finns inga data som är klara att läsas (till exempel har den första Read() inte anropats eller returnerats false).
-eller-
Försökte läsa en tidigare läst kolumn i sekventiellt läge.
-eller-
En asynkron åtgärd pågick. Detta gäller för alla Get_*_ metoder när de körs i sekventiellt läge, eftersom de kan anropas när du läser en ström.
Det angivna namnet är inte ett giltigt kolumnnamn.
Värdet som returneras av databasen matchar inte eller kan inte gjutas till T.
Annulleringstoken avbröts. Det här undantaget lagras i den returnerade aktiviteten.
Kommentarer
Den här asynkrona metoden behövs bara för att undvika att blockera den anropande tråden när läsaren skapas i sekventiellt läge.
Om sekventiellt läge inte har angetts bör alla kolumnvärden bli tillgängliga i minnet varje gång ReadAsync slutförs, och att anropa den synkrona versionen av metoden bör inte blockera den anropande tråden.
Standardimplementeringen av den här asynkrona metoden anropar dess synkrona motsvarighet och returnerar en slutförd uppgift som potentiellt blockerar den anropande tråden. Standardimplementeringen returnerar också en avbruten aktivitet om den skickas en redan avbruten annulleringstoken.
Dataprovidrar som stöder asynkron programmering bör åsidosätta standardimplementeringen med hjälp av asynkrona I/O-åtgärder.
Den här metoden accepterar en annulleringstoken som kan användas för att begära att åtgärden avbryts tidigt. Implementeringar kan ignorera den här begäran.
Andra metoder och egenskaper för DbDataReader-objektet bör inte anropas medan den returnerade aktiviteten ännu inte har slutförts.