Например.
ConnectionDetails cd = new ConnectionDetails ();
cd.ProviderName = "System.Data.OleDb";
cd.DataSource = "serverAddress";
cd.Catalog = "database";
cd.UserId = "userId";
cd.Password = "password";
string connectionString = cs.CreateConnectionString();
// Should return:
// "Provider=SQLOLEDB;Data Source=serverAddress;Initial Catalog=database;User Id=userId;Password=password;"
Я бы написал свой собственный класс, но я не уверен, как программным образом получить свойство поставщика строки подключения (в данном примере SQLOLEDB) из инвариантного имени поставщика БД (System.Data.OleDb).
Edit:
Вы можете сделать
DbProviderFactories.GetFactory("System.Data.OleDB").CreateConnectionStringBuilder()
Но DBConnectionStringBuilder, который возвращается, все еще не знает своего свойства поставщика строки соединения, даже если в этом случае у его производного класса есть свойство "Provider".