/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="q"></param> /// <param name="orderString">Id asc,Age desc...</param> /// <returns></returns> public static IOrderedQuery <T> OrderBy <T>(this IQuery <T> q, string orderString) { if (q == null) { throw new ArgumentNullException("q"); } if (string.IsNullOrEmpty(orderString)) { throw new ArgumentNullException("orderString"); } List <Ordering> orderingList = SplitOrderingString(orderString); IOrderedQuery <T> orderedQuery = null; for (int i = 0; i < orderingList.Count; i++) { Ordering ordering = orderingList[i]; if (orderedQuery == null) { orderedQuery = q.InnerOrderBy(ordering); } else { orderedQuery = orderedQuery.InnerThenBy(ordering); } } return(orderedQuery); }