/// <summary> /// 数据表 分页 /// </summary> /// <param name="pageNum">指定页数 索引从0开始</param> /// <param name="pageSize">指定每页多少项</param> ///<param name="outTotal">输出当前表的总项数</param> /// <param name="expression">条件 linq表达式 谓词</param> /// <param name="sortList">排序字段</param> /// <returns></returns> public List <TEntity> GetPageData(int pageNum, int pageSize, out long outTotal, 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 = SortConvert(sortList); //转换排序接口 var entities = conn.GetPage <TEntity>(predicate, sort, pageNum, pageSize, transaction: conn.BeginTransaction(IsolationLevel.ReadUncommitted)).ToList(); outTotal = conn.Count <TEntity>(predicate, transaction, commandTimeout); return(entities); } }
/// <summary> /// 获取数据表总项数 /// </summary> /// <param name="expression">linq表达式 谓词</param> /// <returns></returns> public int GetCount(Expression <Func <TEntity, bool> > expression = null) { var conn = DbHandle.CreateConnectionAndOpen(); try { var predicate = DapperLinqBuilder <TEntity> .FromExpression(expression); return(conn.Count <TEntity>(predicate)); } finally { conn.CloseIfOpen(); } }
/// <summary> /// 获取结果集第一条数据 /// </summary> /// <param name="expression"></param> /// <param name="sortList"></param> /// <returns></returns> public TEntity GetFist(Expression <Func <TEntity, bool> > expression = null, object sortList = null) { using (var conn = ConnectionFactory.CreateMainSiteConnection()) { var predicate = DapperLinqBuilder <TEntity> .FromExpression(expression); IList <ISort> sort = null; if (sortList != null) { sort = SortConvert(sortList);//转换排序接口 } var data = conn.GetList <TEntity>(predicate, sort); return(data.FirstOrDefault()); } }
/// <summary> /// 获取结果集第一条数据 /// </summary> /// <param name="expression"></param> /// <returns></returns> public TEntity GetFist(Expression <Func <TEntity, bool> > expression = null) { var predicate = DapperLinqBuilder <TEntity> .FromExpression(expression); var conn = DbHandle.CreateConnectionAndOpen(); try { var data = conn.GetList <TEntity>(predicate); return(data.FirstOrDefault()); } finally { conn.CloseIfOpen(); } }
/// <summary> /// 获取数据表总项数 /// </summary> /// <param name="expression">linq表达式 谓词</param> /// <returns></returns> public long GetCount(Expression <Func <TEntity, bool> > expression = null) { try { if (_Conn.State == ConnectionState.Closed) { _Conn.Open(); } var predicate = DapperLinqBuilder <TEntity> .FromExpression(expression); return(_Conn.Count <TEntity>(predicate)); } finally { _Conn.Close(); } }
/// <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="parameters"></param> /// <param name="expression"></param> /// <returns></returns> public bool Update(object parameters, Expression <Func <TEntity, bool> > expression) { try { if (_Conn.State == ConnectionState.Closed) { _Conn.Open(); } var predicate = DapperLinqBuilder <TEntity> .FromExpression(expression); var succ = _Conn.Update <TEntity>(parameters, predicate); return(succ); } finally { _Conn.Close(); } }
/// <summary> /// 获取结果集第一条数据 /// </summary> /// <param name="expression"></param> /// <param name="sortList"></param> /// <returns></returns> public TEntity GetFist(Expression <Func <TEntity, bool> > expression = null, object sortList = null) { try { if (_Conn.State == ConnectionState.Closed) { _Conn.Open(); } var predicate = DapperLinqBuilder <TEntity> .FromExpression(expression); //var sort = SortConvert(sortList); var data = _Conn.GetList <TEntity>(predicate); return(data.FirstOrDefault()); } finally { _Conn.Close(); } }
/// <summary> /// 数据表 分页 /// </summary> /// <param name="pageNum">指定页数 索引从0开始</param> /// <param name="pageSize">指定每页多少项</param> ///<param name="outTotal">输出当前表的总项数</param> /// <param name="expression">条件 linq表达式 谓词</param> /// <param name="sortList">排序字段</param> /// <returns></returns> public IEnumerable <TEntity> GetPageData(int pageNum, int pageSize, out long outTotal, Expression <Func <TEntity, bool> > expression = null, object sortList = null) { IPredicateGroup predicate = DapperLinqBuilder <TEntity> .FromExpression(expression); //转换Linq表达式 IList <ISort> sort = SortConvert(sortList); //转换排序接口 var conn = DbHandle.CreateConnectionAndOpen(); var tran = conn.BeginTransaction(IsolationLevel.ReadUncommitted); try { var entities = conn.GetPage <TEntity>(predicate, sort, pageNum, pageSize, transaction: conn.BeginTransaction(IsolationLevel.ReadUncommitted)); outTotal = conn.Count <TEntity>(null); return(entities); } finally { conn.CloseIfOpen(); } }
/// <summary> /// 数据表 分页 /// </summary> /// <param name="pageNum">指定页数 索引从0开始</param> /// <param name="pageSize">指定每页多少项</param> ///<param name="outTotal">输出当前表的总项数</param> /// <param name="expression">条件 linq表达式 谓词</param> /// <param name="sortList">排序字段</param> /// <returns></returns> public IEnumerable <TEntity> GetPageData(int pageNum, int pageSize, out long outTotal, Expression <Func <TEntity, bool> > expression = null, object sortList = null) { try { if (_Conn.State == ConnectionState.Closed) { _Conn.Open(); } IPredicateGroup predicate = DapperLinqBuilder <TEntity> .FromExpression(expression); //转换Linq表达式 IList <ISort> sort = SortConvert(sortList); //转换排序接口 var entities = _Conn.GetPage <TEntity>(predicate, sort, pageNum, pageSize, transaction: _Conn.BeginTransaction(IsolationLevel.ReadUncommitted)); outTotal = _Conn.Count <TEntity>(null); return(entities); } finally { _Conn.Close(); } }
/// <summary> /// 数据表 分页 /// </summary> /// <param name="pager">页数信息</param> /// <param name="expression">条件 linq表达式 谓词</param> /// <param name="sortList">排序字段</param> /// <returns></returns> public Page <TEntity> GetPageData(Page <TEntity> pager, Expression <Func <TEntity, bool> > expression = null, object sortList = null) { int commandTimeout = 1800; IPredicateGroup predicate = DapperLinqBuilder <TEntity> .FromExpression(expression); //转换Linq表达式 IList <ISort> sort = SortConvert(sortList); //转换排序接口 var conn = DbHandle.CreateConnectionAndOpen(); var tran = conn.BeginTransaction(IsolationLevel.ReadUncommitted); try { var entities = conn.GetPage <TEntity>(predicate, sort, pager.PageIndex, pager.PageSize, tran); var list = entities.ToList(); pager.TotalCount = conn.Count <TEntity>(predicate, tran, commandTimeout); return(pager); } finally { conn.CloseIfOpen(); } }
/// <summary> /// 根据条件获取表数据 /// </summary> /// <param name="expression">linq表达式</param> /// <returns></returns> public List <TEntity> GetList(Expression <Func <TEntity, bool> > expression, object sortList = null) { using (var conn = ConnectionFactory.CreateMainSiteConnection()) { IList <ISort> sort = null; if (sortList != null) { sort = SortConvert(sortList);//转换排序接口 } if (expression == null) { //允许脏读 return(conn.GetList <TEntity>(null, sort, transaction: conn.BeginTransaction(IsolationLevel.ReadUncommitted)).ToList());//如果条件为Null 就查询所有数据 } else { var predicate = DapperLinqBuilder <TEntity> .FromExpression(expression); return(conn.GetList <TEntity>(predicate, sort, transaction: conn.BeginTransaction(IsolationLevel.ReadUncommitted)).ToList()); } } }
/// <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="expression">linq表达式</param> /// <returns></returns> public IEnumerable <TEntity> GetList(Expression <Func <TEntity, bool> > expression, object sortList = null) { IList <ISort> sort = SortConvert(sortList);//转换排序接口 var conn = DbHandle.CreateConnectionAndOpen(); try { if (expression == null) { //允许脏读 return(conn.GetList <TEntity>(null, sort, transaction: conn.BeginTransaction(IsolationLevel.ReadUncommitted)));//如果条件为Null 就查询所有数据 } else { var predicate = DapperLinqBuilder <TEntity> .FromExpression(expression); return(conn.GetList <TEntity>(predicate, sort, transaction: conn.BeginTransaction(IsolationLevel.ReadUncommitted))); } } finally { conn.CloseIfOpen(); } }