/// <summary> /// 获取分页列表 /// </summary> /// <param name="page">第几页</param> /// <param name="ps">每页几条(默认15条,最多50条)</param> /// <returns></returns> public UserListViewModel GetPageListData(XPager pager) { UserListViewModel model = new UserListViewModel(); List <User> list = GetPageData(pager, m => m.Sex == 1, null).ToList(); model.UserList = list; model.Pager = pager; return(model); }
/// <summary> /// 数据表 分页 /// </summary> /// <param name="pager">页数信息</param> /// <param name="predicate">条件</param> /// <param name="sortList">排序字段</param> /// <returns></returns> public List <TEntity> GetPageData(XPager pager, IPredicateGroup predicate = null, object sortList = null) { using (var conn = ConnectionFactory.CreateMainSiteConnection()) { IDbTransaction transaction = conn.BeginTransaction(IsolationLevel.ReadUncommitted); int commandTimeout = 1800; IList <ISort> sort = null; if (sortList != null) { sort = SortConvert(sortList);//转换排序接口 } var entities = conn.GetPage <TEntity>(predicate, sort, pager.PageIndex, pager.PageSize, transaction).ToList(); pager.RecordCount = conn.Count <TEntity>(predicate, transaction, commandTimeout); return(entities); } }
/// <summary> /// 获取所有活动分页列表 /// </summary> /// <param name="page">第几页</param> /// <param name="ps">每页几条(默认15条,最多50条)</param> /// <returns></returns> public UserListViewModel GetPageListData(int page = 1, int ps = 15) { UserListViewModel model = new UserListViewModel(); if (ps > 50) { ps = 50; } XPager pager = new XPager(page, ps, 0); UserRepository rep = new UserRepository(); List <User> list = rep.GetPageData(pager, m => m.Sex == 1, null).ToList(); model.UserList = list; model.Pager = pager; return(model); }
/// <summary> /// 数据表 分页 /// </summary> /// <param name="pager">页数信息</param> /// <param name="fields">要查询是字段对象</param> /// <param name="expression">条件 linq表达式 谓词</param> /// <param name="sortList">排序字段</param> /// <returns></returns> public List <TEntity> GetPageData(XPager pager, string[] fields, Expression <Func <TEntity, bool> > expression = null, object sortList = null) { using (var conn = ConnectionFactory.CreateMainSiteConnection()) { IDbTransaction transaction = conn.BeginTransaction(IsolationLevel.ReadUncommitted); int commandTimeout = 1800; IPredicateGroup predicate = DapperLinqBuilder <TEntity> .FromExpression(expression); //转换Linq表达式 IList <ISort> sort = null; if (sortList != null) { sort = SortConvert(sortList);//转换排序接口 } var entities = conn.GetPage <TEntity>(fields, predicate, sort, pager.PageIndex, pager.PageSize, transaction).ToList(); pager.RecordCount = conn.Count <TEntity>(predicate, transaction, commandTimeout); return(entities); } }
/// <summary> /// 数据表 分页 /// </summary> /// <param name="pager">页数信息</param> /// <param name="expression">条件 linq表达式 谓词</param> /// <param name="sortList">排序字段</param> /// <returns></returns> public IEnumerable <TEntity> GetPageData(XPager pager, Expression <Func <TEntity, bool> > expression = null, object sortList = null) { try { if (_Conn.State == ConnectionState.Closed) { _Conn.Open(); } IDbTransaction transaction = _Conn.BeginTransaction(IsolationLevel.ReadUncommitted); int commandTimeout = 1800; IPredicateGroup predicate = DapperLinqBuilder <TEntity> .FromExpression(expression); //转换Linq表达式 IList <ISort> sort = SortConvert(sortList); //转换排序接口 var entities = _Conn.GetPage <TEntity>(predicate, sort, pager.PageIndex, pager.PageSize, transaction); var list = entities.ToList(); pager.RecordCount = _Conn.Count <TEntity>(predicate, transaction, commandTimeout); return(entities); } finally { _Conn.Close(); } }
/// <summary> /// 数据表所有字段分页 /// </summary> /// <param name="pager">页数信息</param> /// <param name="expression">条件 linq表达式 谓词</param> /// <param name="sortList">排序字段</param> /// <returns></returns> public IEnumerable <TEntity> GetPageData(XPager pager, Expression <Func <TEntity, bool> > expression = null, object sortList = null) { return(repository.GetPageData(pager, expression, sortList)); }
/// <summary> /// 数据表指定字段分页 /// </summary> /// <param name="pager">页数信息</param> /// <param name="fields">要查询是字段对象</param> /// <param name="expression">条件 linq表达式 谓词</param> /// <param name="sortList">排序字段</param> /// <returns></returns> public List <TEntity> GetPageData(XPager pager, string[] fields, Expression <Func <TEntity, bool> > expression = null, object sortList = null) { return(repository.GetPageData(pager, fields, expression, sortList)); }