title: EF Code First DropCreateDatabaseAlways not executed
body: <p>I have a test application where I would like to drop and recreate database every time I run the application. This is my context class:</p>
  
  <pre><code>public class MySolutionContext : DbContext
  {
      public MySolutionContext()
          : base("MySolution")
      {
          Database.SetInitializer&lt;MySolutionContext&gt;(new DropCreateDatabaseAlways());
      }
  
      public DbSet&lt;Order&gt; Orders { get; set; }
      public DbSet&lt;OrderItem&gt; OrderITems { get; set; }
  
  
      public void Seed(MySolutionContext context)
      {
  
          var order1 = new Order
          {
              Archive = false,
              CompletionDate = DateTime.Now,
              Person = "Bartosz"
          };
          var order2 = new Order
          {
              Archive = false,
              CompletionDate = DateTime.Now,
              Person = "Anna"
          };
          context.Orders.Add(order1);
          context.Orders.Add(order2);
  
          context.SaveChanges();
      }
  
      public class DropCreateDatabaseAlways : DropCreateDatabaseAlways&lt;MySolutionContext&gt;
      {
          protected override void Seed(MySolutionContext context)
          {
              context.Seed(context);
              base.Seed(context);
          }
      }
  }
  </code></pre>
  
  <p>When I run the application for the first time, Seed method is executed and database gets created. However, when I stop and rerun the application, Seed method is not firing at all and previously created database is being used. Why does it happen? What am I missing in my code? </p>