QueryableExtensions.SingleAsync<TSource>-Methode (IQueryable<TSource>, Expression<Func<TSource, Boolean>>, CancellationToken)
[Diese Seite bezieht sich auf Entity Framework Version 6. Die neueste Version ist als 'Entity Framework' NuGet-Paket verfügbar. Weitere Informationen zu Entity Framework finden Sie unter msdn.com/data/ef.]
Gibt asynchron das einzige Element einer Sequenz zurück, das eine angegebene Bedingung erfüllt, und löst eine Ausnahme aus, wenn mehrere solche Elemente vorhanden sind.
Namespace: System.Data.Entity
Assembly: EntityFramework (in EntityFramework.dll)
Syntax
'Declaration
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
<SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")> _
<ExtensionAttribute> _
Public Shared Function SingleAsync(Of TSource) ( _
source As IQueryable(Of TSource), _
predicate As Expression(Of Func(Of TSource, Boolean)), _
cancellationToken As CancellationToken _
) As Task(Of TSource)
'Usage
Dim source As IQueryable(Of TSource)
Dim predicate As Expression(Of Func(Of TSource, Boolean))
Dim cancellationToken As CancellationToken
Dim returnValue As Task(Of TSource)
returnValue = source.SingleAsync(predicate, _
cancellationToken)
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
[SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")]
public static Task<TSource> SingleAsync<TSource>(
this IQueryable<TSource> source,
Expression<Func<TSource, bool>> predicate,
CancellationToken cancellationToken
)
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1006:DoNotNestGenericTypesInMemberSignatures")]
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1011:ConsiderPassingBaseTypesAsParameters")]
[ExtensionAttribute]
public:
generic<typename TSource>
static Task<TSource>^ SingleAsync(
IQueryable<TSource>^ source,
Expression<Func<TSource, bool>^>^ predicate,
CancellationToken cancellationToken
)
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
[<SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")>]
static member SingleAsync :
source:IQueryable<'TSource> *
predicate:Expression<Func<'TSource, bool>> *
cancellationToken:CancellationToken -> Task<'TSource>
JScript does not support generic types and methods.
Typparameter
- TSource
Der Typ der Elemente von source.
Parameter
- source
Typ: System.Linq.IQueryable<TSource>
Eine IQueryable<T>, deren einziges Element zurückgegeben werden soll.
- predicate
Typ: System.Linq.Expressions.Expression<Func<TSource, Boolean>>
Eine Funktion zum Überprüfen eines Elements auf eine Bedingung.
- cancellationToken
Typ: System.Threading.CancellationToken
Ein CancellationToken, das beim Warten auf den Abschluss der Aufgabe überwacht werden soll.
Rückgabewert
Typ: System.Threading.Tasks.Task<TSource>
Eine Aufgabe, die den asynchronen Vorgang darstellt.Das Aufgabeergebnis enthält das einzige Element der Eingabesequenz, das die Bedingung in predicateerfüllt.
Hinweis zur Verwendung
In Visual Basic und C# können Sie diese Methode als Instanzenmethode für ein beliebiges Objekt vom Typ IQueryable<TSource> aufrufen. Bei Verwendung der Syntax für Instanzenmethoden lassen Sie den ersten Parameter aus. Weitere Informationen finden Sie unter https://msdn.microsoft.com/de-de/library/bb384936(v=vs.113) oder https://msdn.microsoft.com/de-de/library/bb383977(v=vs.113).
Ausnahmen
Ausnahme | Bedingung |
---|---|
ArgumentNullException | source oder predicate ist null. |
InvalidOperationException | source implementiert IDbAsyncQueryProvider nicht. |
InvalidOperationException | Kein Element erfüllt die Bedingung in predicate. |
InvalidOperationException | Die Bedingung in predicate wird von mehreren Elementen erfüllt. |
Hinweise
Mehrere aktive Vorgänge für dieselbe Kontextinstanz werden nicht unterstützt. Verwenden Sie await, um sicherzustellen, dass sämtliche asynchronen Vorgänge abgeschlossen sind, bevor eine andere Methode in diesem Kontext aufgerufen wird.