Example #1
0
        public GroupNestedStreamable(
            IStreamable <TOuterKey, TSource> source, Expression <Func <TSource, TInnerKey> > keySelector)
            : base(source.Properties.GroupNested(keySelector))
        {
            Contract.Requires(source != null);
            Contract.Requires(keySelector != null);

            Source      = source;
            KeySelector = keySelector;

            if (Source.Properties.IsColumnar && !CanGenerateColumnar())
            {
                properties = properties.ToRowBased();
                Source     = Source.ColumnToRow();
            }
        }