Поделиться через


QueryableExtensions.SumAsync<TSource> - метод (IQueryable<TSource>, Expression<Func<TSource, Nullable<Int32>>>, CancellationToken)

[Эта страница относится к документации к Entity Framework 6. Последняя версия доступна в составе пакета Entity Framework NuGet. Дополнительные сведения об Entity Framework см. в разделе msdn.com/data/ef.]

Асинхронно вычисляет сумму для последовательности значений Int32, которые могут быть равны NULL, получаемой в результате применения функции проекции к каждому элементу входной последовательности.

Пространство имен:  System.Data.Entity
Сборка:  EntityFramework (в EntityFramework.dll)

Синтаксис

'Декларация
<SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")> _
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
<ExtensionAttribute> _
Public Shared Function SumAsync(Of TSource) ( _
    source As IQueryable(Of TSource), _
    selector As Expression(Of Func(Of TSource, Nullable(Of Integer))), _
    cancellationToken As CancellationToken _
) As Task(Of Nullable(Of Integer))
'Применение
Dim source As IQueryable(Of TSource)
Dim selector As Expression(Of Func(Of TSource, Nullable(Of Integer)))
Dim cancellationToken As CancellationToken 
Dim returnValue As Task(Of Nullable(Of Integer))

returnValue = source.SumAsync(selector, _
    cancellationToken)
[SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")]
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
public static Task<Nullable<int>> SumAsync<TSource>(
    this IQueryable<TSource> source,
    Expression<Func<TSource, Nullable<int>>> selector,
    CancellationToken cancellationToken
)
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1011:ConsiderPassingBaseTypesAsParameters")]
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1006:DoNotNestGenericTypesInMemberSignatures")]
[ExtensionAttribute]
public:
generic<typename TSource>
static Task<Nullable<int>>^ SumAsync(
    IQueryable<TSource>^ source, 
    Expression<Func<TSource, Nullable<int>>^>^ selector, 
    CancellationToken cancellationToken
)
[<SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")>]
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
static member SumAsync : 
        source:IQueryable<'TSource> * 
        selector:Expression<Func<'TSource, Nullable<int>>> * 
        cancellationToken:CancellationToken -> Task<Nullable<int>> 
JScript does not support generic types and methods.

Параметры типа

  • TSource
    Тип элементов последовательности source.

Параметры

  • source
    Тип: System.Linq.IQueryable<TSource>
    Последовательность значений типа TSource.

Возвращаемое значение

Тип: System.Threading.Tasks.Task<Nullable<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 или selector имеет значение null.

InvalidOperationException

source не реализует IDbAsyncQueryProvider.

OverflowException

Число элементов в последовательности source больше, чем MaxValue.

Примечания

Несколько активных операций в одном экземпляре контекста не поддерживается. Используйте «await» для обеспечения того, чтобы все асинхронные операции завершались перед вызовом другого метода применительно к этому контексту.

См. также

Справочник

QueryableExtensions Класс

SumAsync - перегрузка

System.Data.Entity - пространство имен