HOW TO SET DATABASE CONNECTION STRING AT RUN TIME?

Allen Scott

Total Post:46

Points:324
Posted by  Allen Scott
 984  View(s)
Ratings:
Rate this:

I am working on a MVC 4 web site. It should allow the user to select which database to be connected with depending on user selection from the View. All the databases have the same table structure and schema etc.

I have a database ConnectionString defined in the Web.config file that allows for connection to the first database.

<connectionStrings>

    <add name="DBConnectionString" connectionString="Data Source=DATABSE_SERVER;Initial Catalog=DATABASE_NAME;Persist Security Info=True;User ID=USERNAME;Password=PASSWORD" providerName="System.Data.SqlClient" />

</connectionStrings>

I also used Linq DataContext to initialize connection to the database. Table mappings were all automatically generated by Linq to SQL in MVC 4.

public NEMP_DataDataContext() :

            base(global::System.Configuration.ConfigurationManager.ConnectionStrings["DBConnectionString"].ConnectionString, mappingSource)

{

    OnCreated();

}

What is the best way to achieve this?

  1. marcel ethan

    Post:105

    Points:735
    Re: Hw to Set database connection string at run time?

    In LINQ to SQL, you just create the Context with the connection string:

    DataContext myContext = new DataContext(customConnectionString);

    You don't need to worry about closing them or anything. SQL Server is handling all that for you. So you simply adjust the connection string slightly (Database Name) and create a new context based on whatever variable in every page you need to use the Context.

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!