public void Dispose()
        {
#if ADO
            _internalConnection.DbConnection.Dispose();
            _internalConnection.Dispose();
#else
            DbConnections.Release(_internalConnection);
#endif
        }
        public async Task OpenAsync()
        {
#if ADO && SQLSERVER
            _internalConnection = new();
            _internalConnection.DbConnection = new System.Data.SqlClient.SqlConnection(_connectionString);
#elif ADO && POSTGRESQL
            _internalConnection = new();
            _internalConnection.DbConnection = new Npgsql.NpgsqlConnection(_connectionString);
#else
            if (_internalConnection is null)
            {
                _internalConnection = await DbConnections.GetConnection(_connectionString);
            }
#endif

            if (_internalConnection.DbConnection.State == ConnectionState.Closed)
            {
                await(_internalConnection.DbConnection as System.Data.Common.DbConnection).OpenAsync();
            }
        }