title: UserRole table has duplicate but differently named columns, causes role checking issues
body: <p>My project makes use of Microsoft ASP.NET Identity Framework and until recently was using version 2.0 and working properly. I noticed back then that the UserRole table  had 4 columns holding essentially the same data:</p>
  
  <p><img src="https://i.stack.imgur.com/SSDuB.png" alt="enter image description here"></p>
  
  <p>Ever since upgrading to 2.1, it seems to leave the second set [Null] - which is a good thing as far as I am concerned (I cannot find where those extra columns have been defined.)</p>
  
  <pre><code>modelBuilder.Entity&lt;IdentityUserClaim&gt;().ToTable("UserClaim");
          modelBuilder.Entity&lt;IdentityUserLogin&gt;().ToTable("UserLogin");
          modelBuilder.Entity&lt;IdentityRole&gt;().ToTable("Role");
          modelBuilder.Entity&lt;ApplicationUser&gt;().ToTable("User");
  
          modelBuilder.Entity&lt;IdentityUserLogin&gt;().HasKey&lt;string&gt;(l =&gt; l.UserId);
          modelBuilder.Entity&lt;IdentityRole&gt;().HasKey&lt;string&gt;(r =&gt; r.Id);
          modelBuilder.Entity&lt;IdentityUserRole&gt;().HasKey(r =&gt; new
          {
              r.RoleId, 
              r.UserId
          }).ToTable("UserRole");;
  </code></pre>
  
  <p>The issue arises when I go to use it:</p>
  
  <pre><code>await _manager.AddToRoleAsync(applicationUser.Id, "Admin");
  </code></pre>
  
  <p>calling this populates the first two columns, whereas:</p>
  
  <pre><code>var userRoles = await _manager.GetRolesAsync(applicationUser.Id);
  </code></pre>
  
  <p>seems to query the second set of columns. I know this because they return [Null] unless I copy and paste the values across from the first two columns.</p>
  
  <p>I have been looking all over my code for anything that may shed some light on this but I will admit to being at a complete loss at this point.</p>