title: Code-First Add-Migration keeps adding the same column
body: <p>My model contains, among other things, two properties that were added to the model class after its initial creation and migration.</p>
  
  <pre><code>public sealed class SomeModel
  {
      ... other properties, which are fine.        
      public int PropertyOne { get; set; }
      public int PropertyTwo { get; set; }
  }
  </code></pre>
  
  <p>My most recent migration contains:</p>
  
  <pre><code>public override void Up()
  {
      ... other table being created.
      AddColumn("dbo.SomeModel", "PropertyOne", c =&gt; c.Int(nullable: false));
      AddColumn("dbo.SomeModel", "PropertyTwo", c =&gt; c.Int(nullable: false));
  }
  </code></pre>
  
  <p>The target database contains the <code>PropertyOne</code> and <code>PropertyTwo</code> columns, and the <code>__MigrationHistory</code> table contains entries for both the migration that created the table and the migration that added the columns.</p>
  
  <p>When I run <code>Add-Migration</code> to get some other changes, it also includes those two properties again:</p>
  
  <pre><code>public override void Up()
  {
      ... other changes.
      AddColumn("dbo.SomeModel", "PropertyOne", c =&gt; c.Int(nullable: false));
      AddColumn("dbo.SomeModel", "PropertyTwo", c =&gt; c.Int(nullable: false));
  }
  </code></pre>
  
  <p>What could be causing this? I also notice that if I revert all of my model changes and try an <code>Update-Database</code> (which should do nothing), I get the error:</p>
  
  <blockquote>
    <p>Unable to update database to match the current model because there are
    pending changes and automatic migration is disabled. Either write the
    pending model changes to a code-based migration or enable automatic
    migration. Set DbMigrationsConfiguration.AutomaticMigrationsEnabled to
    true to enable automatic migration.</p>
  </blockquote>
  
  <p><strong>What could be causing this?</strong></p>