Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var dstuff = from user in selecteddb.users
- where user.UserEmail == userEmail
- select user.UserID;
- public static class ConnectionTools
- {
- // all params are optional
- public static void ChangeDatabase(
- this DbContext source,
- string initialCatalog = "",
- string dataSource = "",
- string userId = "",
- string password = "",
- bool integratedSecuity = true,
- string configConnectionStringName = "")
- /* this would be used if the
- * connectionString name varied from
- * the base EF class name */
- {
- try
- {
- // use the const name if it's not null, otherwise
- // using the convention of connection string = EF contextname
- // grab the type name and we're done
- var configNameEf = string.IsNullOrEmpty(configConnectionStringName)
- ? source.GetType().Name
- : configConnectionStringName;
- // add a reference to System.Configuration
- var entityCnxStringBuilder = new EntityConnectionStringBuilder
- (System.Configuration.ConfigurationManager
- .ConnectionStrings[configNameEf].ConnectionString);
- // init the sqlbuilder with the full EF connectionstring cargo
- var sqlCnxStringBuilder = new SqlConnectionStringBuilder
- (entityCnxStringBuilder.ProviderConnectionString);
- // only populate parameters with values if added
- if (!string.IsNullOrEmpty(initialCatalog))
- sqlCnxStringBuilder.InitialCatalog = initialCatalog;
- if (!string.IsNullOrEmpty(dataSource))
- sqlCnxStringBuilder.DataSource = dataSource;
- if (!string.IsNullOrEmpty(userId))
- sqlCnxStringBuilder.UserID = userId;
- if (!string.IsNullOrEmpty(password))
- sqlCnxStringBuilder.Password = password;
- // set the integrated security status
- sqlCnxStringBuilder.IntegratedSecurity = integratedSecuity;
- // now flip the properties that were changed
- source.Database.Connection.ConnectionString
- = sqlCnxStringBuilder.ConnectionString;
- }
- catch (Exception ex)
- {
- // set log item if required
- }
- }
- }
- // assumes a connectionString name in .config of ADBEntities
- var selectedDb = new ADBEntities();
- // so only reference the changed properties
- // using the object parameters by name
- selectedDb.ChangeDatabase
- (
- initialCatalog: "name-of-bdb-initialcatalog",
- userId: "jackthelad",
- password: "nosecrets",
- dataSource: @".sqlexpress" // could be ip address 100.23.45.67 etc
- );
- using (var context = new MyDbContext("Server=localhost;Database=dbA;..."))
- {
- return context.Users.Where(u => u.Email == "someemail@google.ca").Single();
- }
- var connections = ConfigurationManager.ConnectionStrings;
- foreach (ConnectionStringSettings connection in connections)
- //display connection.Name
- ConnectionStringSettings selected_connection = connections[1];
- using (var selecteddb = new ADBEntities(selected_connection.ConnectionString))
- {
- var dstuff = from user in selecteddb.users
- where user.UserEmail == userEmail
- select user.UserID;
- }
- var defaultString = _myContext.Database.GetDbConnection().ConnectionString;
- _myContext.Database.GetDbConnection().ConnectionString ="new connection" or _myContext.Database.GetDbConnection().ChangeDatabase()
- //your query..
- _myContext.Database.GetDbConnection().ConnectionString = defaultString;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement