DAL/Pagination.cs

(完整代码) 1KB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using NHibernate;

namespace DAL
{
    public class Pagination<T>
    {
        private ISession _session;
        public ISession Session
        {
            get { return _session; }
        }
        public Pagination(ISession session)
        {
            _session = session;
        }
        /// <summary>
        /// 分页程序
        /// </summary>
        /// <param name="HQL">HQL语句</param>
        /// <param name="FirshPage">显示页码,首页从0开始</param>
        /// <param name="PageSize">页面记录数</param>
        /// <returns>Ilist集合</returns>
        public IList<T> PageList(string HQL, int PageSize, int CurrentPageIndex)
        {
            return (_session.CreateQuery(HQL)
                .SetFirstResult(PageSize * (CurrentPageIndex - 1))
                .SetMaxResults(PageSize)
                .List<T>());
        }
        /// <summary>
        /// 记录总数
        /// </summary>
        /// <param name="HQL">HQL语句</param>
        /// <returns>总记录数</returns>
        public int CountRecord(string HQL)
        {
            return _session.CreateQuery(HQL).List().Count;
        }


        /// <summary>
        /// 总页数
        /// </summary>
        /// <param name="CountRecord">总记录数</param>
        /// <param name="PageSize">页面显示条数</param>
        /// <returns>总页面数</returns>
        public int PageCount(int CountRecord,int PageSize)
        {
            return ((CountRecord % PageSize) == 0 ? (CountRecord / PageSize) : (CountRecord / PageSize + 1));
        }

    }
}

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。