zoukankan      html  css  js  c++  java
  • NHibernate分页实现条件可变

            /// <summary>
            
    /// NHibernate分页实现---条件可变
            
    /// </summary>
            
    /// <param name="maxResults">记录数</param>
            
    /// <param name="pageStart">开始页</param>
            
    /// <param name="totalRecordCount">总记录数</param>
            
    /// <param name="order">排序方式</param>
            
    /// <param name="criterionList">查询条件</param>
            
    /// <returns></returns>
            public IList<T> GetByCriteria(int maxResults, int pageStart, out int totalRecordCount, Order order, params ICriterion[] criterionList)
            {
                ICriteria criteria 
    = CreateCriteria();
                
    foreach (ICriterion criterion in criterionList)
                    criteria.Add(criterion);

                
    //获取记录总数
                ICriteria criteriaRecordCount = CriteriaTransformer.Clone(criteria);
                totalRecordCount 
    = criteriaRecordCount.SetProjection(NHibernate.Criterion.Projections.RowCount())
                    .UniqueResult
    <int>();


                criteria.SetMaxResults(maxResults);
                criteria.SetFirstResult(pageStart 
    * maxResults);

                
    if (order != null)
                    criteria.AddOrder(order);

                
    return criteria.List<T>();
            }
  • 相关阅读:
    转:Metronic – 超赞!基于 Bootstrap 的响应式后台管理模板
    [km] 如何判断一个直播系统是否使用的是RTMP
    xshell5.0实现中键复制
    [转] 腾讯云直播OBS推流教程
    eclipse格式化代码快捷键失效
    JAVA注解@Interface基础知识
    MySQL按中文拼音排序
    Navicat连不上mysql8
    MySQL重置root密码
    CentOS7防火墙之firewalld
  • 原文地址:https://www.cnblogs.com/jes_shaw/p/2007075.html
Copyright © 2011-2022 走看看