示例#1
0
        internal override IEnumerable <T> InMemorySelect(IQueryRunner runner)
        {
            var items = ParentT.InMemorySelect(runner);

            FromRowMapping = ParentT.FromRowMapping;

            var builder = new OrderByBuilder <T>();

            OrderByBuilderFunction(builder);

            IOrderedEnumerable <T> ordered = null;

            foreach (OrderByItem <T> selector in builder.Selectors)
            {
                if (ordered == null)
                {
                    ordered = selector.OrderBy(items);
                }
                else
                {
                    ordered = selector.ThenBy(ordered);
                }
            }

            if (ordered == null)
            {
                return(items);
            }

            return(ordered);
        }
示例#2
0
 public OrderByBuilder <T> Values(OrderByBuilder <T> other)
 {
     Selectors.AddRange(other.Selectors);
     return(this);
 }