Example #1
0
 //
 // 摘要:
 //     /// 内容比较函数 ///
 //
 // 参数:
 //   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);
 }
Example #2
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);
        }