QueryableExtensions.CountAsync<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 nombre d'éléments dans une séquence qui satisfont une condition.
Espace de noms : System.Data.Entity
Assembly : EntityFramework (dans EntityFramework.dll)
Syntaxe
'Déclaration
<SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")> _
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
<ExtensionAttribute> _
Public Shared Function CountAsync(Of TSource) ( _
source As IQueryable(Of TSource), _
predicate As Expression(Of Func(Of TSource, Boolean)), _
cancellationToken As CancellationToken _
) As Task(Of Integer)
'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 Integer)
returnValue = source.CountAsync(predicate, _
cancellationToken)
[SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")]
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
public static Task<int> CountAsync<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<int>^ CountAsync(
IQueryable<TSource>^ source,
Expression<Func<TSource, bool>^>^ predicate,
CancellationToken cancellationToken
)
[<SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")>]
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
static member CountAsync :
source:IQueryable<'TSource> *
predicate:Expression<Func<'TSource, bool>> *
cancellationToken:CancellationToken -> Task<int>
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> qui contient les éléments à compter.
- predicate
Type : System.Linq.Expressions.Expression<Func<TSource, Boolean>>
Fonction permettant de tester chaque élément par rapport à 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<Int32>
Tâche qui représente l'opération asynchrone.Le résultat de la tâche contient le nombre d'éléments dans la séquence satisfaisant la condition stipulée dans la fonction de prédicat.
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. |
OverflowException | Le nombre d'éléments dans source satisfaisant la condition stipulée dans la fonction de prédicat est supérieur à MaxValue. |
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.