public void Connection_string_can_be_set_inside_DbContext_constructor_as_long_as_database_initialization_has_not_happened() { Database.Delete(MutatingConnectionContext1.StartingConnectionString); Database.Delete(MutatingConnectionContext1.ChangedConnectionString); var initializer = new MutatingConnectionContextInitializer <MutatingConnectionContext1>(); Database.SetInitializer <MutatingConnectionContext1>(initializer); using (var context = new MutatingConnectionContext1()) { context.Products.Load(); Assert.Equal(MutatingConnectionContext1.ChangedConnectionString, initializer.ConnectionStringUsed); Assert.Equal( RemovePasswordAndSemicolonsFromConnectionString(MutatingConnectionContext1.ChangedConnectionString), RemovePasswordAndSemicolonsFromConnectionString(context.Database.Connection.ConnectionString)); Assert.False(Database.Exists(MutatingConnectionContext1.StartingConnectionString)); Assert.True(Database.Exists(MutatingConnectionContext1.ChangedConnectionString)); } }
public void Connection_string_can_be_set_after_DbContext_construction_as_long_as_database_initialization_has_not_happened() { Database.Delete(MutatingConnectionContext2.StartingConnectionString); Database.Delete(MutatingConnectionContext2.ChangedConnectionString); var initializer = new MutatingConnectionContextInitializer <MutatingConnectionContext2>(); Database.SetInitializer <MutatingConnectionContext2>(initializer); using (var context = new MutatingConnectionContext2()) { context.Database.Connection.ConnectionString = MutatingConnectionContext2.ChangedConnectionString; context.Products.Load(); Assert.Equal(MutatingConnectionContext2.ChangedConnectionString, initializer.ConnectionStringUsed); Assert.Equal( MutatingConnectionContext2.ChangedConnectionString, context.Database.Connection.ConnectionString); Assert.False(Database.Exists(MutatingConnectionContext2.StartingConnectionString)); Assert.True(Database.Exists(MutatingConnectionContext2.ChangedConnectionString)); } }