private IReadOnlyList <DbExpressionSort> GetOrderBy(Identity parentIdentity) { Debug.Assert(parentIdentity != null); var orderByListCount = OrderByList == null ? 0 : OrderByList.Count; var result = new DbExpressionSort[orderByListCount + 1]; result[0] = GetDbExpressionSort(parentIdentity); for (int i = 0; i < orderByListCount; i++) { result[i + 1] = OrderByList[i]; } return(result); }
private IList <DbExpressionSort> EliminateSubQuery(IList <ColumnSort> orderByList) { if (orderByList == null) { return(null); } var result = new DbExpressionSort[orderByList.Count]; for (int i = 0; i < orderByList.Count; i++) { var orderBy = orderByList[i]; result[i] = new DbExpressionSort(EliminateSubQuery(orderBy.Column.DbExpression), orderBy.Direction); } return(result); }