title: RoleManager.create returning with error despite overriding
body: <p>I have just updated my AspNetRoles table with an OnModelCreating like this:</p>
  
  <pre><code>    protected override void OnModelCreating(DbModelBuilder modelBuilder)
      {
          base.OnModelCreating(modelBuilder);
  
          var role = modelBuilder.Entity&lt;IdentityRole&gt;()
              .ToTable("AspNetRoles");
          role.Property(r =&gt; r.Name)
          .IsRequired()
          .HasMaxLength(256)
          .HasColumnAnnotation("Index",new IndexAnnotation(new IndexAttribute("RoleNameIndex") { IsUnique = false } ));
      }
  </code></pre>
  
  <p>I have set the IsUnique part as false.</p>
  
  <p>However, when I try to create a role, it returns an exception saying Role "Role" already exists.</p>
  
  <pre><code>    public bool Save(SaveRolesDetailsViewModel Input)
      {
          bool result = false;
          AspApplicationRoles data = new AspApplicationRoles();
          var store = new ApplicationRoleStore(new ApplicationDbContext());
          var manager =new ApplicationRoleManager(store);
          try
          {
              var role = new AspApplicationRoles
              {
                  Id = Guid.NewGuid().ToString(),
                  Name = Input.RoleName,
                  ApplicationId = Input.ApplicationId
              };
              var res = manager.Create(role);
              if (res.Succeeded)
              {
                  var add = dbContext.AspApplicationRoles.Add(role);
                  result = true;
              }
              else
              {
                  result = false;
              }
          }
          catch (Exception e)
          {
              logger.Error(e, AspNetEventLogs.Error);
          }
          return result;
      }
  </code></pre>
  
  <p>How can I force AspNetRoles table to take same names?</p>