public static void SeedData(NorthwindContext northwindContext, MasterContext masterContext) { bool databaseExists = (northwindContext.GetService <IDatabaseCreator>() as RelationalDatabaseCreator).Exists(); if (!databaseExists) { string filePath = Path.Combine(AppContext.BaseDirectory, "Seed", "Northwind.sql"); string seedSql = File.ReadAllText(filePath); string masterDbConnectionString = masterContext.Database.GetDbConnection().ConnectionString; // Overview (SMO): https://docs.microsoft.com/en-us/sql/relational-databases/server-management-objects-smo/overview-smo?view=sql-server-2017 using (SqlConnection connection = new SqlConnection(masterDbConnectionString)) { Server server = new Server(new ServerConnection(connection)); //https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2014/ms199350%28v%3dsql.120%29 server.ConnectionContext.ExecuteNonQuery(seedSql); } //var batches = SplitSqlIntoBatches(databaseSql); //using (var masterContext = new MasterContext()) //{ // for (int i = 0; i < batches.Count; i++) // { // masterContext.Database.ExecuteSqlCommand(batches[i]); // } // masterContext.SaveChanges(); //} } }
public void RevertMigrations() { var optionsBuilder = new DbContextOptionsBuilder<NorthwindContext>(); optionsBuilder.UseMySql("Server=epam-corewsvm16.northeurope.cloudapp.azure.com;Database=Northwind;User=user;Password=123;Compress=true", opt => { opt.CommandTimeout(200); }); var context = new NorthwindContext(optionsBuilder.Options); context.GetService<IMigrator>().Migrate("Init"); }
private NorthwindContext CreateContext(params object[] values) { var context = new NorthwindContext( _fixture.BuildOptions( new ServiceCollection() .AddScoped <IRelationalCommandBuilderFactory, BadDataCommandBuilderFactory>())); var badDataCommandBuilderFactory = (BadDataCommandBuilderFactory)context.GetService <IRelationalCommandBuilderFactory>(); badDataCommandBuilderFactory.Values = values; return(context); }
public virtual void State_manager_not_loaded() { StateManagerProxy.IsInitialized = false; using (var context = new NorthwindContext( Fixture.BuildOptions( new ServiceCollection() .AddScoped <IStateManager, StateManagerProxy>()))) { context.Set <Customer>().AsNoTracking().ToList(); Assert.False(StateManagerProxy.IsInitialized); context.GetService <IStateManager>(); Assert.True(StateManagerProxy.IsInitialized); } }