/// <summary>
 /// 分页读取
 /// </summary>
 /// <param name="cri"></param>
 /// <param name="startIndex"></param>
 /// <param name="maxRows"></param>
 /// <param name="sortedBy"></param>
 /// <returns></returns>
 protected IList <T> GetAll(NHibernate.ICriteria cri, int startIndex, int maxRows, string sortedBy)
 {
     cri.SetFirstResult(startIndex);
     if (maxRows > 0)
     {
         cri.SetMaxResults(maxRows);
     }
     if (!string.IsNullOrEmpty(sortedBy))
     {
         string[] ss = sortedBy.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
         if (ss.Length == 2 && ss[1].ToUpper() == "DESC")
         {
             cri.AddOrder(new NHibernate.Criterion.Order(ss[0], false));
         }
         else
         {
             cri.AddOrder(new NHibernate.Criterion.Order(ss[0], true));
         }
     }
     return(cri.List <T>());
 }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="criteria"></param>
        protected void OnCriteriaCreated(NHibernate.ICriteria criteria)
        {
            if (this.EagerFetchs != null)
            {
                foreach (string s in this.EagerFetchs)
                {
                    criteria = criteria.SetFetchMode(s, FetchMode.Eager);
                }
            }

            if (EnablePage)
            {
                criteria = criteria.SetFirstResult(FirstResult);
                if (MaxResult != -1)
                {
                    criteria = criteria.SetMaxResults(MaxResult);
                }
            }

            if (IsResultDistinct || m_hasCollection)
            {
                criteria = criteria.SetResultTransformer(new NHibernate.Transform.DistinctRootEntityResultTransformer());
            }
        }
Пример #3
0
 public ICollection <T> FindAll(NHibernate.ICriteria criteria, int firstResult, int numberOfResults)
 {
     return(criteria.SetFirstResult(firstResult).SetMaxResults(numberOfResults).List <T> ());
 }