C # Recuperando o objeto DbConnection correto por cadeia de conexão

Eu tenho uma seqüência de conexão sendo passada para uma função e preciso criar um objeto baseado em DbConnection (ou seja, SQLConnection, OracleConnection, OLEDbConnection etc) com base nessa seqüência de caracteres.

Existe alguma funcionalidade inerente para fazer isso, ou quaisquer bibliotecas de terceiros para ajudar. Nós não estamos necessariamente construindo esta string de conexão, então não podemos confiar em um formato em que a string é escrita para determinar seu tipo, e eupreferir não ter que codificar todas as combinações e permutações de possíveis cadeias de conexão

questionAnswers(4)

yourAnswerToTheQuestion