示例#1
0
 public int GetPostsCount(string ticket, TransitPostQueryOptions options)
 {
     using (DBlog.Data.Hibernate.Session.OpenConnection(GetNewConnection()))
     {
         ISession session = DBlog.Data.Hibernate.Session.Current;
         CountQuery query = new CountQuery(session, typeof(DBlog.Data.Post), "Post");
         if (options != null)
         {
             options.Apply(query);
         }
         if (options != null) options.Apply(query);
         return query.Execute<int>();
     }
 }
示例#2
0
        public List<TransitPost> GetPosts(string ticket, TransitPostQueryOptions options)
        {
            using (DBlog.Data.Hibernate.Session.OpenConnection(GetNewConnection()))
            {
                ISession session = DBlog.Data.Hibernate.Session.Current;
                StringCriteria criteria = new StringCriteria(session, "Post", typeof(Post));

                if (options != null)
                {
                    options.Apply(criteria);
                }

                IQuery sqlquery = criteria.CreateQuery();

                if (options != null)
                {
                    options.Apply(sqlquery);
                }

                IList list = sqlquery.List();

                List<TransitPost> result = new List<TransitPost>(list.Count);

                foreach (Post obj in list)
                {
                    result.Add(new TransitPost(session, obj, ticket));
                }

                return result;
            }
        }