QueryableExtensions.FirstOrDefaultAsync<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 erste Element einer Sequenz zurück, das eine angegebene Bedingung erfüllt, oder einen Standardwert, wenn kein solches Element gefunden wird.
Namespace: System.Data.Entity
Assembly: EntityFramework (in EntityFramework.dll)
Syntax
'Declaration
<SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")> _
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
<ExtensionAttribute> _
Public Shared Function FirstOrDefaultAsync(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.FirstOrDefaultAsync(predicate, _
cancellationToken)
[SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")]
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
public static Task<TSource> FirstOrDefaultAsync<TSource>(
this IQueryable<TSource> source,
Expression<Func<TSource, bool>> predicate,
CancellationToken cancellationToken
)
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1011:ConsiderPassingBaseTypesAsParameters")]
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1006:DoNotNestGenericTypesInMemberSignatures")]
[ExtensionAttribute]
public:
generic<typename TSource>
static Task<TSource>^ FirstOrDefaultAsync(
IQueryable<TSource>^ source,
Expression<Func<TSource, bool>^>^ predicate,
CancellationToken cancellationToken
)
[<SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")>]
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
static member FirstOrDefaultAsync :
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 erstes Element zurückgegeben werden soll.
- predicate
Typ: System.Linq.Expressions.Expression<Func<TSource, Boolean>>
Eine Funktion, mit der jedes Element auf eine Bedingung überprüft wird.
- 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 default ( TSource ), wenn source leer ist oder kein Element den durch predicate festgelegten Test besteht. Andernfalls ist das erste Element in source enthalten, das den durch predicate festgelegten Test besteht.
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 | source hat mehr als ein Element. |
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.