How to Set database connection string at run time?

Total Post:46

 1403  View(s)
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.

    <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" />

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)

What is the best way to achieve this?

  1. Post:104

    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.

      Modified On Apr-07-2018 12:18:13 AM