public virtual void VisitOrderByClause(OrderByClause node) { foreach (KeyValuePair<Expression, OrderDirection> pair in node.ExpressionToOrderDirectionMap) { Visit(pair.Key); } }
public override void VisitOrderByClause(OrderByClause node) { WriteKeyword(KeyWordWriter.LinqOrderBy); WriteSpace(); for (int i = 0; i < node.ExpressionToOrderDirectionMap.Count; i++) { if (i > 0) { Write(", "); } Visit(node.ExpressionToOrderDirectionMap[i].Key); if (node.ExpressionToOrderDirectionMap[i].Value == OrderDirection.Descending) { WriteSpace(); WriteKeyword(KeyWordWriter.LinqDescending); } } }
private bool TryProcessOrderByMethod(MethodInvocationExpression methodInvoke, bool ascending, bool queryable) { Expression key; if (!TryProcessSingleParameterQuery(methodInvoke, true, queryable, out key)) { return false; } OrderByClause orderBy = new OrderByClause(new PairList<Expression, OrderDirection>(), null); orderBy.ExpressionToOrderDirectionMap.Add(key, ascending ? OrderDirection.Ascending : OrderDirection.Descending); clauses.Add(orderBy); return true; }