RamblerToning RamblerToning - 4 years ago 128
C# Question

How do I set a default connection string in a console application?

In my MVC projects with a web interface, I'm used to setting the Connection String in the Web.Config file.

However, now I'm making a bog standard console application - also with a database hook, but how do I set the connection string globally for the application?

At the moment, I am setting

var dbIndex = new DBContext();
dbIndex.Database.Connection.ConnectionString =
"Data Source=USER-PC;Initial Catalog=TextProject.DBContext;" +
"Integrated Security=True;MultipleActiveResultSets=True";


but I have to set this connectionstring property every time, in all function calls. Is there a way to set a global connection string when I don't have a web.config?

Answer Source

So I think what your saying is that Entity Framework (I assume that is what you are using) looks for defaultConnection connection string.

You can try putting it in the app.config file as suggested by others, but I'm not sure if this will be automagically picked up by EF.

What you could do, if it doesn't work, is to create new class which inherits DbContext -

public class MyDbContext : DbContext
{
    public MyDbContext() : base()
    {
        var cs = ConfigurationManager.ConnectionStrings["defaultConnection"]
                                     .ConnectionString;

        this.Database.Connection.ConnectionString = cs;                
    }
}
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download