title: Add-Migration won't detect changes to foreign key
body: <p>EF Migrations can't seem to detect my changes to the model, as it just generates an empty <code>Up() / Down()</code> when running <code>Add-Migration</code>.</p>
  
  <p>The database is not out of sync with my migrations.</p>
  
  <p><strong>Migration file:</strong>
  <img src="https://i.stack.imgur.com/WwJSy.png" alt="Migration file"></p>
  
  <p><strong>__migrationhistory table:</strong>
  <img src="https://i.stack.imgur.com/jPKVp.png" alt="__migrationhistory table"></p>
  
  <h2>Before</h2>
  
  <pre><code>public class House {
      public virtual ICollection&lt;Person&gt; UsedBy { get; set; }
  }
  
  public class Car {
      // ...
  }
  
  public class Person {
      public int? UsingId { get; set; }
      public virtual House Using { get; set; }
  }
  </code></pre>
  
  <p><strong>Mapping</strong></p>
  
  <pre><code>this.HasOptional(t =&gt; t.Using)
                  .WithMany(t =&gt; t.UsedBy)
                  .HasForeignKey(t =&gt; t.UsingId);
  </code></pre>
  
  <h2>After</h2>
  
  <pre><code>public class House {
      // removed
  }
  
  public class Car {
      // added
      public virtual ICollection&lt;Person&gt; UsedBy { get; set; }
  }
  
  public class Person {
      public int? UsingId { get; set; }
      // changed type
      public virtual Car Using { get; set; }
  }
  </code></pre>
  
  <p><strong>Mapping</strong></p>
  
  <pre><code>this.HasOptional(t =&gt; t.Using)
                  .WithMany(t =&gt; t.UsedBy)
                  .HasForeignKey(t =&gt; t.UsingId);
  </code></pre>