/// <summary> /// 异步查询记录数 /// </summary> /// <typeparam name="TEntity"></typeparam> /// <param name="connection"></param> /// <param name="param"></param> /// <param name="predicate"></param> /// <param name="transaction"></param> /// <param name="commandTimeout"></param> /// <returns></returns> public static Task <int> CountAsync <TEntity>(this IDbConnection connection, object param = null, Expression <Func <TEntity, bool> > predicate = null, IDbTransaction transaction = null, int?commandTimeout = null) where TEntity : BaseEntity { ISqlAdapter adapter = GetSqlAdapter(connection); var sql = adapter.GetCount(predicate); if (param == null) { param = adapter.ParamValues; } var result = connection.ExecuteScalarAsyncExt <int>(sql, param, transaction, commandTimeout); return(result); }