public Task <int> CountAsync(Expression <Func <TEntity, bool> > expression = null) { try { if (Conn.State == ConnectionState.Closed) { Conn.Open(); } var predicate = DapperLinqBuilder <TEntity> .FromExpression(expression); return(Conn.CountAsync <TEntity>(predicate)); } finally { Conn.Close(); } }
public TEntity FindSingle(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.GetSet <TEntity>(predicate, sort, 0, 1); return(data.FirstOrDefault()); } finally { Conn.Close(); } }
public IEnumerable <TEntity> Page(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); IList <ISort> sort = SortConvert(sortList); var entities = Conn.GetPage <TEntity>(predicate, sort, pageNum - 1, pageSize); outTotal = Conn.Count <TEntity>(predicate); return(entities); } finally { Conn.Close(); } }