Пример #1
0
 /// <summary>
 /// Gets the entity list from respersitory.
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="expressions">The criterion expressions,for example:new ICriterion[]{Restriction.Eq("AField","xy")}.</param>
 /// <param name="orders">The orders.</param>
 /// <returns></returns>
 public IList <T> GetList <T>(Hib.Criterion.ICriterion[] expressions, string associatePath, string alias, params Hib.Criterion.Order[] orders)
 {
     try
     {
         OpenConnect();
         Hib.ICriteria criteria = _Session.CreateCriteria(typeof(T));
         criteria.CreateAlias(associatePath, alias);
         if (expressions != null)
         {
             foreach (Hib.Criterion.ICriterion exp in expressions)
             {
                 criteria.Add(exp);
             }
         }
         foreach (Hib.Criterion.Order o in orders)
         {
             criteria.AddOrder(o);
         }
         return(criteria.List <T>());
     }
     catch (Exception ex)
     {
         LogExepttion(ex);
         throw;
     }
     finally
     {
         Disconnect();
     }
 }
Пример #2
0
        /// <summary>
        /// Gets the entity list from respersitory.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="expressions">The criterion expressions,for example:new ICriterion[]{Restriction.Eq("AField","xy")}.</param>
        /// <param name="orders">The orders.</param>
        /// <returns></returns>
        public IList <T> GetList <T>(Hib.Criterion.ICriterion expression, params Hib.Criterion.Order[] orders)
        {
            try
            {
                OpenConnect();
                Hib.ICriteria criteria = _Session.CreateCriteria(typeof(T));
                if (expression != null)
                {
                    criteria.Add(expression);
                }

                foreach (Hib.Criterion.Order o in orders)
                {
                    criteria.AddOrder(o);
                }
                return(criteria.List <T>());
            }
            catch (Exception ex)
            {
                LogExepttion(ex);
                throw;
            }
            finally
            {
                Disconnect();
            }
        }
Пример #3
0
        private void GetData(ISearchExpression searchExpression, IList <ISearchOrder> searchOrders,
                             NHibernate.ISession session, ActionableList <object> actionList)
        {
            NHibernate.ICriteria criteria = CreateCriteria(session, searchExpression, searchOrders, ref m_hasCollection);

            OnCriteriaCreated(criteria);

            criteria.List(actionList);
        }
Пример #4
0
        private System.Collections.IEnumerable GetData(ISearchExpression searchExpression, IList <ISearchOrder> searchOrders, NHibernate.ISession session)
        {
            NHibernate.ICriteria criteria = CreateCriteria(session, searchExpression, searchOrders, ref m_hasCollection);

            OnCriteriaCreated(criteria);

            return(criteria.List <T>());
            //return criteria.Future<T>();
        }
Пример #5
0
 /// <summary>
 /// Gets the distict list.
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="distictPropertys">The distict propertys.</param>
 /// <param name="expressions">The expressions.</param>
 /// <param name="orders">The orders.</param>
 /// <returns></returns>
 public IList <object[]> GetDistinctList <T>(string[] distictPropertys, Hib.Criterion.ICriterion[] expressions, params Hib.Criterion.Order[] orders)
 {
     try
     {
         OpenConnect();
         Hib.ICriteria criteria = _Session.CreateCriteria(typeof(T));
         if (distictPropertys != null)
         {
             ProjectionList projects = Projections.ProjectionList();
             foreach (string p in distictPropertys)
             {
                 projects.Add(Projections.Property(p));
             }
             criteria.SetProjection(Projections.Distinct(projects));
         }
         else
         {
             throw new Exception("the disctinct property can't be null.");
         }
         if (expressions != null)
         {
             foreach (Hib.Criterion.ICriterion exp in expressions)
             {
                 criteria.Add(exp);
             }
         }
         foreach (Hib.Criterion.Order o in orders)
         {
             criteria.AddOrder(o);
         }
         return(criteria.List <object[]>());
     }
     catch (Exception ex)
     {
         LogExepttion(ex);
         throw;
     }
     finally
     {
         Disconnect();
     }
 }
 /// <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>());
 }
        public IList <SystemUser> GetByRestrictions(IDictionary <string, string> restrictions, string orderBy, bool ascending, int?limit)
        {
            using (ISession session = NHibernateHelper.OpenSession())
            {
                NHibernate.
                ICriteria criteria = session.CreateCriteria <SystemUser>();
                foreach (KeyValuePair <string, string> pair in restrictions)
                {
                    criteria = criteria.Add(Restrictions.Eq(pair.Key, pair.Value));
                }

                if (limit != null)
                {
                    criteria = criteria.SetMaxResults((int)limit);
                }

                if (orderBy != null)
                {
                    criteria = criteria.AddOrder(new Order(orderBy, ascending));
                }

                return(criteria.List <SystemUser>());
            }
        }
Пример #8
0
 public ICollection <T> FindAll(NHibernate.ICriteria criteria)
 {
     return(criteria.List <T> ());
 }