Verificar se conexão possui transação aberta para ela (C#/ADO.NET)

E aí, galerinha!
Tudo bem?

Tô desenvolvendo uma camada de conexões para meu software aqui, e me surgiu um problema.
Eu tenho um método chamado GetCommand(), que recebe uma conexão ativa por parâmetro e me devolve um objeto DbCommand com uma transação aberta sobre ele. Eu quero fazer uma validação do tipo: “JÁ EXISTE TRANSAÇÃO ABERTA PARA ESSA CONEXÃO? SE SIM, NÃO FAZ NADA, SE NÃO, ABRE UMA NOVA.”, sabem?

Esse é o meu método GetCommand():

[code]public static DbCommand GetCommand(DbConnection connection)
{
try
{
DbCommand command = providerFactory.CreateCommand();
command.Transaction = connection.BeginTransaction();
command.Connection = connection;

    return command;
}
catch (DbException errDB)
{
    throw errDB;
}
catch (Exception err)
{
    throw err;
}

}[/code]

O que eu quero fazer é algo do tipo:

[code]public static DbCommand GetCommand(DbConnection connection)
{
try
{
DbCommand command = providerFactory.CreateCommand();
if (/MINHA CONEXÃO NÃO POSSUI UMA TRANSAÇÃO ABERTA/)
{
command.Transaction = connection.BeginTransaction();
}
command.Connection = connection;

    return command;
}
catch (DbException errDB)
{
    throw errDB;
}
catch (Exception err)
{
    throw err;
}

}[/code]

Alguém tem ideia de como posso fazer isso?
Abraços!