public SortedAggregator(IAggregateExpression keySelector, SortDirection sortDirection) { _keySelector = keySelector; var comparer = CreateComparer(sortDirection); _sortedFactCollection = new SortedFactCollection <TSource, TKey>(comparer); }
public ProjectionAggregator(IAggregateExpression selector) { _selector = selector; }
public FlatteningAggregator(IAggregateExpression selector) { _selector = selector; }
public GroupByAggregator(IAggregateExpression keySelector, IAggregateExpression elementSelector) { _keySelector = keySelector; _elementSelector = elementSelector; }
private static Func <IAggregator> CreateSingleKeySortedAggregatorFactory(Type sourceType, SortDirection sortDirection, NamedExpressionElement selector, IAggregateExpression compiledSelector) { var keyType = selector.Expression.ReturnType; var aggregatorType = typeof(SortedAggregator <,>).MakeGenericType(sourceType, keyType); var ctor = aggregatorType.GetTypeInfo().DeclaredConstructors.Single(); var factoryExpression = Expression.Lambda <Func <IAggregator> >( Expression.New(ctor, Expression.Constant(compiledSelector), Expression.Constant(sortDirection))); return(factoryExpression.Compile()); }
public CustomSelectAggregator(IAggregateExpression selector) { _selector = selector; }
public SortCondition(string name, SortDirection direction, IAggregateExpression expression) { Name = name; KeySelector = expression; Direction = direction; }
public MimicSelectAggregator(IAggregateExpression selector) { _selector = selector; }