Exemple #1
0
        public SortedAggregator(IAggregateExpression keySelector, SortDirection sortDirection)
        {
            _keySelector = keySelector;
            var comparer = CreateComparer(sortDirection);

            _sortedFactCollection = new SortedFactCollection <TSource, TKey>(comparer);
        }
 public ProjectionAggregator(IAggregateExpression selector)
 {
     _selector = selector;
 }
Exemple #3
0
 public FlatteningAggregator(IAggregateExpression selector)
 {
     _selector = selector;
 }
Exemple #4
0
 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());
        }
Exemple #6
0
 public CustomSelectAggregator(IAggregateExpression selector)
 {
     _selector = selector;
 }
Exemple #7
0
 public SortCondition(string name, SortDirection direction, IAggregateExpression expression)
 {
     Name        = name;
     KeySelector = expression;
     Direction   = direction;
 }
 public MimicSelectAggregator(IAggregateExpression selector)
 {
     _selector = selector;
 }