title: EF Code First Migrations creating extra foreign key
body: <p>I'm trying to create a <code>Profile</code> table to integrate with the Asp.Net Identity table: <code>AspNetUsers</code>. I'm using Code First Migrations with EF 6.0.</p>
  
  <p>Here is my User class: </p>
  
  <pre><code>public class ApplicationUser : IdentityUser
      {
          public ApplicationUser()
          {
  
          }
  
  
          public virtual string FirstName { get; set; }
          public virtual string LastName { get; set; }
          public UserStatus Status { get; set; }
          public virtual Profile Profile { get; set; }
      }
  </code></pre>
  
  <p>Here is my Profile class: </p>
  
  <pre><code>public class Profile
      {
          public int ID { get; set; }
          public string ApplicationUserID { get; set; }
          public virtual ApplicationUser ApplicationUser { get; set; }
      }
  </code></pre>
  
  <p>I have the configuration in my DataContext:</p>
  
  <pre><code>modelBuilder.Entity&lt;Profile&gt;()
                  .HasRequired&lt;ApplicationUser&gt;(m =&gt; m.ApplicationUser);
  </code></pre>
  
  <p>The weird thing is that when I run the migration it creates ApplicationUserID and ApplicationUser_Id in the database when all I want is to create ApplicationUserID and use that as the foreign key column. If I add the property AppliationUser_Id it'll add ApplicationUser_Id1. Anyone know how to fix this?</p>
  
  <p><strong>I want to make sure that the Foreign Key is on the profile table i.e. Profile has the column ApplicationUserID and not vice versa i.e. I don't want the AspNetUsers table to have a profile_ID column.</strong></p>
  
  <p>P.S. I'm using Fluent API, not data annotations.</p>