ASP.NET-Identity限制UserName长度

Yus*_*tme 8 entity-framework username ef-code-first entity-framework-6 asp.net-identity

如何限制UserName表格中的字段AspNetUsers

这不是:

public class ApplicationUser : IdentityUser
{
    [Required, MaxLength(15)]
    public string UserName { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

或这个:

modelBuilder.Entity<ApplicationUser>().Property(x => x.UserName).HasMaxLength(15);

作品.

我需要这个,因为设置了Indexnvarchar(max)给了我这个错误信息:

表'dbo.AspNetUsers'中的列'UserName'的类型无效,无法用作索引中的键列.

为了详细,我试图设置这样的索引:

public override void Up()
{
    CreateIndex("dbo.AspNetUsers", "UserName", true, "IX_UserName");
}

public override void Down()
{
    DropIndex("dbo.AspNetUsers", "IX_UserName");
}
Run Code Online (Sandbox Code Playgroud)

Yus*_*tme 5

在今天发布的最新版本中,这应该可以解决问题:

modelBuilder.Entity<ApplicationUser>().Property(x => x.UserName).HasMaxLength(15);