/// <summary> /// 把IOrderedQueryable[T]集合继续指定属性排序方式进行排序 /// </summary> /// <typeparam name="T">动态类型</typeparam> /// <param name="source">要排序的数据集</param> /// <param name="sortCondition">列表属性排序条件</param> /// <returns></returns> public static IOrderedQueryable <T> ThenBy <T>(this IOrderedQueryable <T> source, PropertySortCondition sortCondition) { PublicHelper.CheckArgument(sortCondition, "sortCondition"); return(source.ThenBy(sortCondition.PropertyName, sortCondition.ListSortDirection)); }
/// <summary> /// 根据第三方条件是否为真来决定是否执行指定条件的查询 /// </summary> /// <param name="source"> 要查询的源 </param> /// <param name="predicate"> 查询条件 </param> /// <param name="condition"> 第三方条件 </param> /// <typeparam name="T"> 动态类型 </typeparam> /// <returns> 查询的结果 </returns> public static IQueryable <T> WhereIf <T>(this IQueryable <T> source, Expression <Func <T, bool> > predicate, bool condition) { PublicHelper.CheckArgument(predicate, "predicate"); return(condition ? source.Where(predicate) : source); }
/// <summary> /// 把IOrderedQueryable[T]集合继续按指定属性排序方式进行排序 /// </summary> /// <typeparam name="T">动态类型</typeparam> /// <param name="source">要排序的数据集</param> /// <param name="propertyName">排序属性名</param> /// <param name="sortDirection">排序方向</param> /// <returns></returns> public static IOrderedQueryable <T> ThenBy <T>(this IOrderedQueryable <T> source, string propertyName, ListSortDirection sortDirection = ListSortDirection.Ascending) { PublicHelper.CheckArgument(propertyName, "propertyName"); return(QueryableHelper <T> .ThenBy(source, propertyName, sortDirection)); }