/// <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);
}