title: Entity Framework 6 Code First Migration's ContextKey
body: <p>Now i'm using EF6 Alpha, and when using migration, it will add a new migration log into the __MigrationHistory table.</p>
  
  <p>In EF6, The __MigrationHistory table has a new column called "ContextKey". After testing, I found there are two default "ContextKey" value:</p>
  
  <ol>
  <li><p>The full name of DbContext's derived class.This happens when i run the code:</p>
  
  <pre><code>Database.CreateIfNotExists();
  </code></pre></li>
  <li><p>The full name of DbMigrationsConfiguration's derived class. This happens when i run the code:</p>
  
  <pre><code>public ArticleDbContext()
  {   
      Database.SetInitializer(new MigrateDatabaseToLatestVersion&lt;ArticleDbContext, ArticleConfiguration&gt;());
  }
  </code></pre></li>
  </ol>
  
  <p>The first time i run the application, "Database.CreateIfNotExists();" create a new database for me, also all tables that map to the models defined in ArticleDbContext, and then add a __MigrationHistory row which ContextKey's value is "Module.Article.Model.ArticleDbContext".</p>
  
  <p>And then "Database.SetInitializer(new MigrateDatabaseToLatestVersion());" will be runned, this code will generate a new ContextKey "PowerEasy.Module.Article.Migrations.ArticleConfiguration". Migration query the __MigrationHistory table with this ContextKey  and find out there's no data. So again it will create all tables that map to the models defined in ArticleDbContext, but the tables are already exist in the database, so an exception will be throwed, and tell me "the table XXX is already existed".</p>
  
  <p>How can i solve this?</p>