public IOrderedSpecification <T> ThenBy <T, K>(IOrderedSpecification <T> spec, Expression <Func <T, K> > keySelector, QueryOrder order) { LinqSpecification <T> linqSpec = (LinqSpecification <T>)spec; ((IList <QueryOrderExpression>)linqSpec.ThenByExpressions).Add(QueryOrderExpression.CreateTheneBy(keySelector, order)); return(linqSpec); }
public static IOrderedSpecification <TEntity> ThenBy <TEntity>(this IOrderedSpecification <TEntity> specification, IOrderSpecification <TEntity> orderSpecification) where TEntity : class { if (specification == null) { throw new ArgumentNullException(nameof(specification)); } return(AddOrderSpecification(specification, orderSpecification)); }
/// <summary> /// 指定规约根据某个键按降序对序列中的元素执行后续排序。 /// </summary> /// <typeparam name="T"></typeparam> /// <typeparam name="K"></typeparam> /// <param name="spec"></param> /// <param name="keySelector"></param> /// <returns></returns> public static IOrderedSpecification <T> ThenByDescending <T, K>(this IOrderedSpecification <T> spec, Expression <Func <T, K> > keySelector) { if (spec == null) { throw new ArgumentNullException("spec"); } if (keySelector == null) { throw new ArgumentNullException("keySelector"); } return(spec.Provider.ThenBy(spec, keySelector, QueryOrder.Descending)); }
public IOrderedSpecification <T> ThenBy <T, K>(IOrderedSpecification <T> spec, Expression <Func <T, K> > keySelector, QueryOrder order) { NHibernateSpecification <T> nhSpec = (NHibernateSpecification <T>)spec; if (order == QueryOrder.Ascending) { nhSpec.Query = ((IOrderedQueryable <T>)nhSpec.Query).ThenBy(keySelector); } else { nhSpec.Query = ((IOrderedQueryable <T>)nhSpec.Query).ThenByDescending(keySelector); } return(nhSpec); }
public IOrderedSpecification <T> ThenBy <T, K>(IOrderedSpecification <T> spec, Expression <Func <T, K> > keySelector, QueryOrder order) { IBatisNetSpecification <T> batisSpec = (IBatisNetSpecification <T>)spec; if (order == QueryOrder.Ascending) { batisSpec.Query = ((IOrderedQueryable <T>)batisSpec.Query).ThenBy(keySelector); } else { batisSpec.Query = ((IOrderedQueryable <T>)batisSpec.Query).ThenByDescending(keySelector); } return(batisSpec); }
public static IOrderedSpecification <TEntity> ThenBy <TEntity>(this IOrderedSpecification <TEntity> specification, IOrderSpecification <TEntity> orderSpecification) where TEntity : class { return(AddOrderSpecification(specification, orderSpecification)); }