C # Recuperando el objeto DbConnection correcto por la cadena de conexión

Tengo una cadena de conexión que se pasa a una función y necesito crear un objeto basado en DbConnection (es decir, SQLConnection, OracleConnection, OLEDbConnection, etc.) basado en esta cadena.

¿Hay alguna funcionalidad incorporada para hacer esto, o alguna biblioteca de terceros para ayudar? No necesariamente estamos construyendo esta cadena de conexión, por lo que no podemos confiar en un formato en el que se escribe la cadena para determinar su tipo, y yopreferir No tener que codificar todas las combinaciones y permutaciones de posibles cadenas de conexión

Respuestas a la pregunta(4)

Su respuesta a la pregunta