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); }
public OrderByBuilder <T> Values(OrderByBuilder <T> other) { Selectors.AddRange(other.Selectors); return(this); }