QueryableExtensions.CountAsync<TSource> - метод (IQueryable<TSource>, Expression<Func<TSource, Boolean>>, CancellationToken)
[Эта страница относится к документации к Entity Framework 6. Последняя версия доступна в составе пакета Entity Framework NuGet. Дополнительные сведения об Entity Framework см. в разделе msdn.com/data/ef.]
Асинхронно возвращает количество элементов в последовательности, удовлетворяющих условию.
Пространство имен: System.Data.Entity
Сборка: EntityFramework (в EntityFramework.dll)
Синтаксис
'Декларация
<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)
'Применение
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.
Параметры типа
- TSource
Тип элементов последовательности source.
Параметры
- source
Тип: System.Linq.IQueryable<TSource>
Объект IQueryable<T>, содержащий элементы, которые требуется подсчитать.
- predicate
Тип: System.Linq.Expressions.Expression<Func<TSource, Boolean>>
Функция, предназначенная для проверки каждого элемента по условию.
- cancellationToken
Тип: System.Threading.CancellationToken
Токен CancellationToken, который нужно отслеживать во время ожидания выполнения задачи.
Возвращаемое значение
Тип: System.Threading.Tasks.Task<Int32>
Задача, представляющая асинхронную операцию.Результат задачи содержит количество элементов в последовательности, которые удовлетворяют условию в предикативной функции.
Примечание об использовании
В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа IQueryable<TSource>. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе https://msdn.microsoft.com/ru-ru/library/bb384936(v=vs.113) или https://msdn.microsoft.com/ru-ru/library/bb383977(v=vs.113).
Исключения
Исключение | Условие |
---|---|
ArgumentNullException | Параметр source или predicate имеет значение null. |
InvalidOperationException | source не реализует IDbAsyncQueryProvider. |
OverflowException | Число элементов в source, которые удовлетворяют условию в предикативной функции, больше MaxValue. |
Примечания
Несколько активных операций в одном экземпляре контекста не поддерживается. Используйте «await» для обеспечения того, чтобы все асинхронные операции завершались перед вызовом другого метода применительно к этому контексту.