NHibernate分页

  public IList<Orders> GetUserOrderByUserID(string userid, int PageIndex, int PageSize, out long count)
        {
            
using (ISession _session = base.GetSession())
            {
                var hql 
= "select count(*) from Orders where userid=:userid";
                IQuery query 
= _session.CreateQuery(hql);
                query.SetString(
"userid", userid);
                
object obj = query.UniqueResult();
                
long.TryParse(obj.ToString(), out count);


                var list 
= from p in _session.Linq<Orders>()
                   .Where(p 
=> p.UserID == userid)
                   .OrderByDescending(p 
=> p.Otime)
                   .Skip((PageIndex 
- 1* PageSize)
                   .Take(PageSize)
                           select p;

                
return list.ToList<Orders>();
            }
        }


posted @ 2011-02-14 15:40  青羽  阅读(990)  评论(1编辑  收藏  举报