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>();
            }
  • 相关阅读:
    XML 验证器
    XML 浏览器支持
    XML 元素
    查看 XML 文件
    XML 属性
    Android入门之Activity四种启动模式
    XML 简介
    XML 语法规则
    [Android]Thread线程入门3多线程
    XML 验证
  • 原文地址:https://www.cnblogs.com/jes_shaw/p/2007075.html
Copyright © 2011-2022 走看看