protected void Page_Load(object sender, EventArgs e) { using (var db = new WebLibrary.BloggingContext()) { for (int i = 0; i < 10; i++) { Blog blog = (from q in db.Blogs where q.Name == "blog" + i select q).FirstOrDefault(); if (blog == null) { blog = new Blog { Name = "blog" + i }; db.Blogs.Add(blog); db.SaveChanges(); } } // Display all Blogs from the database var query = from b in db.Blogs orderby b.Name select b; lblMessage.Text = string.Join(",", query.Select((q) => q.Name).ToArray()); } }
public void DoMigration() { //using (var db = new WebLibrary.BloggingContext(_connectionString)) //{ //} //System.Data.Entity.MigrateDatabaseToLatestVersion<> // var dbMigrator = new System.Data.Entity.Migrations.DbMigrator( // new WebLibrary.Migrations.InitialCreate //new Lcmp.EF.Migrations.Migrations.Configuration()); // dbMigrator.Update(); // } DbMigrationsConfiguration configuration = BloggingContext.CreateConfiguration(); //new WebLibrary.Migrations.Configuration(); var dbmigrator = new DbMigrator(configuration); dbmigrator.Configuration.TargetDatabase = new DbConnectionInfo(_connectionString, "System.Data.SqlClient"); //new DbConnectionInfo("Data Source=.;Initial Catalog=Blogging;User ID=blogging;Password=blogging", "System.Data.SqlClient"); foreach (string migration in dbmigrator.GetPendingMigrations()) { Console.WriteLine(string.Format("{0}", migration)); } // Database.SetInitializer(new MigrateDatabaseToLatestVersion<WebLibrary.BloggingContext, WebLibrary.Migrations.Configuration>()); Database.SetInitializer <WebLibrary.BloggingContext>(null); var migrations = dbmigrator.GetPendingMigrations(); if (migrations.Any()) { var scriptor = new MigratorScriptingDecorator(dbmigrator); using (var db = new WebLibrary.BloggingContext(_connectionString)) { using (var dbContextTransaction = db.Database.BeginTransaction()) { string prevMigration = null; foreach (string migration in dbmigrator.GetPendingMigrations()) { string script = scriptor.ScriptUpdate(prevMigration, migration); if (!String.IsNullOrEmpty(script)) { Console.WriteLine(string.Format("{0}: {1}", migration, script)); db.Database.Initialize(false); db.Database.ExecuteSqlCommand(script); } prevMigration = migration; } dbContextTransaction.Commit(); } } } //dbmigrator.Update(); }