Example #1
0
        private (IQueryable <T> Query, int RecordCount) BuildPagedQuery()
        {
            var result = Query.Expression;
            var nested = false;

            foreach (var orderByFilter in OrderBys)
            {
                var operation = orderByFilter.ConstructOrderByExpression <T>(nested);
                result = Expression.Call(typeof(Queryable),
                                         operation.Command,
                                         new[] { Query.ElementType, operation.MemberType },
                                         result,
                                         Expression.Quote(operation.OrderByExpression));
                nested = true;
            }

            Query = Query.Provider.CreateQuery <T>(result);
            return(PagingFilter.ApplyFilter(Query));
        }