Chris
Chris

Reputation: 1642

Pass database connection settings to function

Is there a class or an interface in c#, that represents database connection settings? I want to pass the connection settings to a function like:

public DoWorkOnDb(IDbConnectionSettings settings)
{
   SqlConnection connection = new SqlConnection(settings.ConnectionString);
   ...
}

What I do not want to do is:

Upvotes: 0

Views: 565

Answers (4)

Roger Lipscombe
Roger Lipscombe

Reputation: 91875

Personally, I'd pass a func:

public DoWorkOnDb(Func<SqlConnection> connectionFactory)
{
    using (var connection = connectionFactory())
    {
        // ...
    }
}

Upvotes: 0

Tim Schmelter
Tim Schmelter

Reputation: 460208

Perhaps you're looking for the ConnectionStringSettingsCollection-class which contains ConnectionStringSettings which has a ConnectionString or ProviderName property.

Maybe you want to combine it with the DbConnectionStringBuilder.

Upvotes: 0

Mitch Wheat
Mitch Wheat

Reputation: 300699

SqlConnectionStringBuilder

SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder["Data Source"] = "(local)";
builder["integrated Security"] = true;
builder["Initial Catalog"] = "AdventureWorks";
Console.WriteLine(builder.ConnectionString);

Upvotes: 0

Adi
Adi

Reputation: 5223

As far as I understand you need SqlConnectionStringBuilder. Then you need to call ToString() or TryGetValue() methods.

Upvotes: 2

Related Questions