Queryable.AggregateBy Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
AggregateBy<TSource,TKey,TAccumulate>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TKey,TAccumulate>>, Expression<Func<TAccumulate, TSource,TAccumulate>>, IEqualityComparer<TKey>) |
Applies an accumulator function over a sequence, grouping results by key. |
AggregateBy<TSource,TKey,TAccumulate>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, TAccumulate, Expression<Func<TAccumulate,TSource,TAccumulate>>, IEqualityComparer<TKey>) |
Applies an accumulator function over a sequence, grouping results by key. |
AggregateBy<TSource,TKey,TAccumulate>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TKey,TAccumulate>>, Expression<Func<TAccumulate, TSource,TAccumulate>>, IEqualityComparer<TKey>)
- Source:
- Queryable.cs
Applies an accumulator function over a sequence, grouping results by key.
public static System.Linq.IQueryable<System.Collections.Generic.KeyValuePair<TKey,TAccumulate>> AggregateBy<TSource,TKey,TAccumulate> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TKey>> keySelector, System.Linq.Expressions.Expression<Func<TKey,TAccumulate>> seedSelector, System.Linq.Expressions.Expression<Func<TAccumulate,TSource,TAccumulate>> func, System.Collections.Generic.IEqualityComparer<TKey>? keyComparer = default);
static member AggregateBy : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, 'Key>> * System.Linq.Expressions.Expression<Func<'Key, 'Accumulate>> * System.Linq.Expressions.Expression<Func<'Accumulate, 'Source, 'Accumulate>> * System.Collections.Generic.IEqualityComparer<'Key> -> System.Linq.IQueryable<System.Collections.Generic.KeyValuePair<'Key, 'Accumulate>>
<Extension()>
Public Function AggregateBy(Of TSource, TKey, TAccumulate) (source As IQueryable(Of TSource), keySelector As Expression(Of Func(Of TSource, TKey)), seedSelector As Expression(Of Func(Of TKey, TAccumulate)), func As Expression(Of Func(Of TAccumulate, TSource, TAccumulate)), Optional keyComparer As IEqualityComparer(Of TKey) = Nothing) As IQueryable(Of KeyValuePair(Of TKey, TAccumulate))
Type Parameters
- TSource
The type of the elements of source
.
- TKey
The type of the key returned by keySelector
.
- TAccumulate
The type of the accumulator value.
Parameters
- source
- IQueryable<TSource>
An IQueryable<T> to aggregate over.
- keySelector
- Expression<Func<TSource,TKey>>
A function to extract the key for each element.
- seedSelector
- Expression<Func<TKey,TAccumulate>>
A factory for the initial accumulator value.
- func
- Expression<Func<TAccumulate,TSource,TAccumulate>>
An accumulator function to be invoked on each element.
- keyComparer
- IEqualityComparer<TKey>
An IEqualityComparer<T> to compare keys with.
Returns
An enumerable containing the aggregates corresponding to each key deriving from source
.
Remarks
This method is comparable to the GroupBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) methods where each grouping is being aggregated into a single value as opposed to allocating a collection for each group.
Applies to
AggregateBy<TSource,TKey,TAccumulate>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, TAccumulate, Expression<Func<TAccumulate,TSource,TAccumulate>>, IEqualityComparer<TKey>)
- Source:
- Queryable.cs
Applies an accumulator function over a sequence, grouping results by key.
public static System.Linq.IQueryable<System.Collections.Generic.KeyValuePair<TKey,TAccumulate>> AggregateBy<TSource,TKey,TAccumulate> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TKey>> keySelector, TAccumulate seed, System.Linq.Expressions.Expression<Func<TAccumulate,TSource,TAccumulate>> func, System.Collections.Generic.IEqualityComparer<TKey>? keyComparer = default);
static member AggregateBy : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, 'Key>> * 'Accumulate * System.Linq.Expressions.Expression<Func<'Accumulate, 'Source, 'Accumulate>> * System.Collections.Generic.IEqualityComparer<'Key> -> System.Linq.IQueryable<System.Collections.Generic.KeyValuePair<'Key, 'Accumulate>>
<Extension()>
Public Function AggregateBy(Of TSource, TKey, TAccumulate) (source As IQueryable(Of TSource), keySelector As Expression(Of Func(Of TSource, TKey)), seed As TAccumulate, func As Expression(Of Func(Of TAccumulate, TSource, TAccumulate)), Optional keyComparer As IEqualityComparer(Of TKey) = Nothing) As IQueryable(Of KeyValuePair(Of TKey, TAccumulate))
Type Parameters
- TSource
The type of the elements of source
.
- TKey
The type of the key returned by keySelector
.
- TAccumulate
The type of the accumulator value.
Parameters
- source
- IQueryable<TSource>
An IQueryable<T> to aggregate over.
- keySelector
- Expression<Func<TSource,TKey>>
A function to extract the key for each element.
- seed
- TAccumulate
The initial accumulator value.
- func
- Expression<Func<TAccumulate,TSource,TAccumulate>>
An accumulator function to be invoked on each element.
- keyComparer
- IEqualityComparer<TKey>
An IEqualityComparer<T> to compare keys with.
Returns
An enumerable containing the aggregates corresponding to each key deriving from source
.
Remarks
This method is comparable to the GroupBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) methods where each grouping is being aggregated into a single value as opposed to allocating a collection for each group.