/// <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>()); }
/// <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()); } }
public ICollection <T> FindAll(NHibernate.ICriteria criteria, int firstResult, int numberOfResults) { return(criteria.SetFirstResult(firstResult).SetMaxResults(numberOfResults).List <T> ()); }