/// <summary> /// 排序 /// </summary> /// <typeparam name="T"></typeparam> /// <typeparam name="T2"></typeparam> /// <param name="queryable"></param> /// <param name="expression">例如 (s1,s2)=>s1.id,相当于 order by s1.id</param> /// <param name="type"></param> /// <returns></returns> public static Queryable <T> OrderBy <T, T2>(this Queryable <T> queryable, Expression <Func <T, T2, object> > expression, OrderByType type = OrderByType.asc) { ResolveExpress re = new ResolveExpress(); var field = re.GetExpressionRightFieldByNT(expression); var pre = queryable.OrderBy.IsValuable() ? "," : ""; queryable.OrderBy += pre + field + " " + type.ToString().ToUpper(); return(queryable); }
/// <summary> /// 排序 /// </summary> /// <typeparam name="T">表实体类型</typeparam> /// <param name="queryable">查询对象</param> /// <param name="expression">排序字段 it=>it.fieldName </param> /// <param name="type">排序类型</param> /// <returns>Queryable</returns> public static Queryable <T> OrderBy <T>(this Queryable <T> queryable, Expression <Func <T, object> > expression, OrderByType type = OrderByType.asc) { ResolveExpress re = new ResolveExpress(); var field = queryable.OrderByField = re.GetExpressionRightField(expression, queryable.DB); if (queryable.JoinTableValue.IsValuable()) { field = re.GetExpressionRightFieldByNT(expression, queryable.DB); } var pre = queryable.OrderByValue.IsValuable() ? "," : ""; queryable.OrderByValue += pre + field.GetTranslationSqlName() + " " + type.ToString().ToUpper(); return(queryable); }