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)); }