zoukankan      html  css  js  c++  java
  • linq 动态排序

    /// <summary>
           /// 排序
           /// </summary>
           /// <typeparam name="T"></typeparam>
           /// <param name="source"></param>
           /// <param name="sortExpression"></param>
           /// <param name="sortDirection"></param>
           /// <returns></returns>
            public static IQueryable<T> DataSorting<T>(IQueryable<T> source, string sortExpression, string sortDirection)
            {
                string sortingDir = string.Empty;
                if (sortDirection.ToUpper().Trim() == "ASC")
                    sortingDir = "OrderBy";
                else if (sortDirection.ToUpper().Trim() == "DESC")
                    sortingDir = "OrderByDescending";
                ParameterExpression param = Expression.Parameter(typeof(T), sortExpression);
                PropertyInfo pi = typeof(T).GetProperty(sortExpression);
                Type[] types = new Type[2];
                types[0] = typeof(T);
                types[1] = pi.PropertyType;
                Expression expr = Expression.Call(typeof(Queryable), sortingDir, types, source.Expression, Expression.Lambda(Expression.Property(param, sortExpression), param));
                IQueryable<T> query = source.AsQueryable().Provider.CreateQuery<T>(expr);
                return query;
            }
  • 相关阅读:
    MySQL 多会话之间更新数据的小实例
    MySQL Profile
    MySQL Explain
    MySQL 索引
    利用网站上传漏洞使用一句话木马控制服务器
    kali之nmap
    kali之使用sqlmap进行sql注入
    kali之DVWA
    Kali安装nessus
    openvas
  • 原文地址:https://www.cnblogs.com/yannis/p/3455955.html
Copyright © 2011-2022 走看看