title: EF6 with IdentityDbContext many to many invalid column name
body: <p>I have an IdentityDbContext in which the ApplicationUser : IdentityUser has a double self referencing table to map FriendShip between different members:</p>
  
  <pre><code>public class ApplicationUser : IdentityUser
  {
      public virtual ICollection&lt;ApplicationUser&gt; Friends { get; set; }
  }
  
  protected override void OnModelCreating(DbModelBuilder modelBuilder)
      {
          modelBuilder.Entity&lt;ApplicationUser&gt;().HasMany(x =&gt; x.Friends).WithMany();
  
          //I've tried the commented out section with no success
          //modelBuilder.Entity&lt;ApplicationUser()
          //.HasMany(x=&gt;x.Friends).WithMany().Map(x=&gt;
          //{ 
          //    x.MapLeftKey("Friend1"); 
          //    x.MapRightKey("Friend2"); 
          //    x.ToTable("Friendship"); 
          //});
          base.OnModelCreating(modelBuilder);
      }
  </code></pre>
  
  <p>And then I try to add a new user to the db:</p>
  
  <pre><code> void AddUser()
      {
          var manager = new UserManager&lt;ApplicationUser&gt;(new UserStore&lt;ApplicationUser&gt;());
          var user = new ApplicationUser { UserName = "HelloWorld" };
          manager.Create(user, "password1");
      }
  </code></pre>
  
  <p>This throws an EntityCommandExecutionException: "Invalid column name 'ApplicationUser_Id'."
  If I drop the many to many relationship it all works but it would be nice to have that relationship in the project.</p>
  
  <p>The column name is the default given to the new relation table with the other one being ApplicationUser_Id1, I figured changing the column names might help but it didnt work(the commented out part). </p>
  
  <p>Also it's strange that this column name is the reason for the exception because inserting a user to the db has nothing to do with that table, I'm lost here.</p>
  
  <p>Any advice/suggestion is much appreciated.</p>