// // 摘要: // /// 内容比较函数 /// // // 参数: // entity: // 数据 // // orderModels: // The order models. public int CompareTo(object entity, List <LinqOrderModel> orderModels) { foreach (LinqOrderModel orderModel in orderModels) { int num = CompareTo(entity, orderModel.LowerName); if (num != 0) { LinqOrderType order = orderModel.Order; if (order == LinqOrderType.Asc) { return(-num); } return(num); } } return(0); }
/// <summary> /// 数据排序 /// </summary> /// <typeparam name="TSource"></typeparam> /// <param name="source"></param> /// <param name="field"></param> /// <param name="order"></param> /// <returns></returns> public static IQueryable <TSource> OrderByField <TSource>(this IQueryable <TSource> source, string field, LinqOrderType order) { if (field.IsNotNull()) { switch (order) { case LinqOrderType.Asc: return(source.OrderBy(d => d.GetType().GetProperty(field).GetValue(d, null))); case LinqOrderType.Desc: return(source.OrderByDescending(d => d.GetType().GetProperty(field).GetValue(d, null))); } } return(source); }