Freigeben über


EntityFrameworkQueryableExtensions.SingleOrDefaultAsync Methode

Definition

Überlädt

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

Gibt asynchron das einzige Element einer Sequenz oder einen Standardwert zurück, wenn die Sequenz leer ist. Diese Methode löst eine Ausnahme aus, wenn mehr als ein Element in der Sequenz vorhanden ist.

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Gibt asynchron das einzige Element einer Sequenz zurück, das eine angegebene Bedingung oder einen Standardwert erfüllt, wenn kein solches Element vorhanden ist. Diese Methode löst eine Ausnahme aus, wenn mehr als ein Element die Bedingung erfüllt.

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

Gibt asynchron das einzige Element einer Sequenz oder einen Standardwert zurück, wenn die Sequenz leer ist. Diese Methode löst eine Ausnahme aus, wenn mehr als ein Element in der Sequenz vorhanden ist.

public static System.Threading.Tasks.Task<TSource> SingleOrDefaultAsync<TSource> (this System.Linq.IQueryable<TSource> source, System.Threading.CancellationToken cancellationToken = default);
public static System.Threading.Tasks.Task<TSource?> SingleOrDefaultAsync<TSource> (this System.Linq.IQueryable<TSource> source, System.Threading.CancellationToken cancellationToken = default);
static member SingleOrDefaultAsync : System.Linq.IQueryable<'Source> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Source>
<Extension()>
Public Function SingleOrDefaultAsync(Of TSource) (source As IQueryable(Of TSource), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TSource)

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Ein IQueryable<T>, dessen einziges Element zurückgegeben werden soll

cancellationToken
CancellationToken

Ein CancellationToken , der beobachtet werden soll, während auf den Abschluss der Aufgabe gewartet wird.

Gibt zurück

Task<TSource>

Eine Aufgabe, die den asynchronen Vorgang darstellt. Das Taskergebnis enthält das einzelne Element der Eingabesequenz oder default ( TSource), wenn die Sequenz keine Elemente enthält.

Ausnahmen

source ist null

source enthält mehr als ein Element.

Hinweise

Mehrere aktive Vorgänge für denselben Kontext instance werden nicht unterstützt. Verwenden Sie await , um sicherzustellen, dass alle asynchronen Vorgänge abgeschlossen wurden, bevor eine andere Methode für diesen Kontext aufgerufen wird. Weitere Informationen und Beispiele finden Sie unter Vermeiden von DbContext-Threadingproblemen .

Weitere Informationen und Beispiele finden Sie unter Abfragen von Daten mit EF Core .

Gilt für:

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Gibt asynchron das einzige Element einer Sequenz zurück, das eine angegebene Bedingung oder einen Standardwert erfüllt, wenn kein solches Element vorhanden ist. Diese Methode löst eine Ausnahme aus, wenn mehr als ein Element die Bedingung erfüllt.

public static System.Threading.Tasks.Task<TSource> SingleOrDefaultAsync<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate, System.Threading.CancellationToken cancellationToken = default);
public static System.Threading.Tasks.Task<TSource?> SingleOrDefaultAsync<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate, System.Threading.CancellationToken cancellationToken = default);
static member SingleOrDefaultAsync : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, bool>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Source>
<Extension()>
Public Function SingleOrDefaultAsync(Of TSource) (source As IQueryable(Of TSource), predicate As Expression(Of Func(Of TSource, Boolean)), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TSource)

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Ein IQueryable<T>, dessen einziges Element zurückgegeben werden soll

predicate
Expression<Func<TSource,Boolean>>

Eine Funktion zum Überprüfen eines Elements auf eine Bedingung.

cancellationToken
CancellationToken

Ein CancellationToken , der beobachtet werden soll, während auf den Abschluss der Aufgabe gewartet wird.

Gibt zurück

Task<TSource>

Eine Aufgabe, die den asynchronen Vorgang darstellt. Das Aufgabenergebnis enthält das einzelne Element der Eingabesequenz, das die Bedingung in predicateoder default ( TSource ) erfüllt, wenn kein solches Element gefunden wird.

Ausnahmen

source oder predicate ist null.

Die Bedingung in predicate wird von mehreren Elementen erfüllt.

Hinweise

Mehrere aktive Vorgänge für denselben Kontext instance werden nicht unterstützt. Verwenden Sie await , um sicherzustellen, dass alle asynchronen Vorgänge abgeschlossen wurden, bevor eine andere Methode für diesen Kontext aufgerufen wird. Weitere Informationen und Beispiele finden Sie unter Vermeiden von DbContext-Threadingproblemen .

Weitere Informationen und Beispiele finden Sie unter Abfragen von Daten mit EF Core .

Gilt für: