QueryableExtensions.SingleAsync<TSource>, méthode (IQueryable<TSource>, Expression<Func<TSource, Boolean>>, CancellationToken)
[Cette page concerne Entity Framework version 6. La dernière version est disponible sous le nom de package 'Entity Framework' NuGet. Pour plus d'informations sur Entity Framework, consultez msdn.com/data/ef.]
Retourne de façon asynchrone le seul élément d'une séquence qui satisfait une condition spécifiée et lève une exception, s'il existe plusieurs éléments de ce type.
Espace de noms : System.Data.Entity
Assembly : EntityFramework (dans EntityFramework.dll)
Syntaxe
'Déclaration
<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)
'Utilisation
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.
Paramètres de type
- TSource
Type des éléments de source.
Paramètres
- source
Type : System.Linq.IQueryable<TSource>
IQueryable<T> duquel retourner le seul élément.
- predicate
Type : System.Linq.Expressions.Expression<Func<TSource, Boolean>>
Fonction permettant de tester un élément pour une condition.
- cancellationToken
Type : System.Threading.CancellationToken
CancellationToken à observer en attendant que la tâche se termine.
Valeur de retour
Type : System.Threading.Tasks.Task<TSource>
Tâche qui représente l'opération asynchrone.Le résultat de la tâche contient le seul élément de la séquence d'entrée qui satisfait la condition dans predicate.
Remarque sur l'utilisation
En Visual Basic et C#, vous pouvez appeler cette méthode comme une méthode d'instance sur n'importe quel objet de type IQueryable<TSource>. Lorsque vous utilisez la syntaxe des méthodes d'instance pour appeler cette méthode, omettez le premier paramètre. Pour plus d'informations, consultez https://msdn.microsoft.com/fr-fr/library/bb384936(v=vs.113) ou https://msdn.microsoft.com/fr-fr/library/bb383977(v=vs.113).
Exceptions
Exception | Condition |
---|---|
ArgumentNullException | source ou predicate a la valeur null. |
InvalidOperationException | source n'implémente pas IDbAsyncQueryProvider. |
InvalidOperationException | Aucun élément ne satisfait la condition dans predicate. |
InvalidOperationException | Plusieurs éléments satisfont la condition dans predicate. |
Notes
Plusieurs opérations actives sur la même instance de contexte ne sont pas prises en charge. Utilisez « await » pour garantir que toutes les opérations asynchrones sont terminées avant d'appeler une autre méthode dans ce contexte.