Wie kann ich die Tabellennamen bei Verwendung von ASP.NET Identity ändern?

Ich verwende die Release-Version (RTM, nicht RC) von Visual Studio 2013 (heruntergeladen von MSDN 2013-10-18) und daher die neueste (RTM) Version von AspNet.Identity. Wenn ich ein neues Webprojekt erstelle, wähle ich "Individuelle Benutzerkonten" zur Authentifizierung aus. Dadurch werden die folgenden Tabellen erstellt:

AspNetRolesAspNetUserClaimsAspNetUserLoginsAspNetUserRolesAspNetUsers

Wenn ich einen neuen Benutzer registriere (unter Verwendung der Standardvorlage), werden diese Tabellen (oben aufgeführt) erstellt und in die AspNetUsers-Tabelle wird ein Datensatz eingefügt, der Folgendes enthält:

Ich würdeNutzernamePasswordHashSicherheitsstempelDiskriminator

Durch das Hinzufügen öffentlicher Eigenschaften zur Klasse "ApplicationUser" habe ich der AspNetUsers-Tabelle erfolgreich zusätzliche Felder hinzugefügt, z. B. "FirstName", "LastName", "PhoneNumber" usw.

Hier ist meine Frage. Gibt es eine Möglichkeit, die Namen der obigen Tabellen zu ändern (wenn sie zum ersten Mal erstellt werden), oder werden sie immer mit dem Namen versehen?AspNet Präfix wie oben aufgeführt? Wenn die Tabellennamen unterschiedlich benannt werden können, erläutern Sie bitte, wie.

- UPDATE -

Ich habe die Lösung von @Hao Kung implementiert. Es wird eine neue Tabelle erstellt (ich habe sie beispielsweise MyUsers genannt), aber es wird auch weiterhin die AspNetUsers-Tabelle erstellt. Ziel ist es, die Tabelle "AspNetUsers" durch die Tabelle "MyUsers" zu ersetzen. Siehe Code unten und Datenbank-Image der erstellten Tabellen.

Ich würde eigentlich gerne jeden ersetzenAspNet Tabelle mit meinem eigenen Namen ... Zum Beispiel MyRoles, MyUserClaims, MyUserLogins, MyUserRoles und MyUsers.

Wie kann ich dies erreichen und nur einen Satz Tabellen haben?

public class ApplicationUser : IdentityUser
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Address1 { get; set; }
    public string Address2 { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string PostalCode { get; set; }
    public string PhonePrimary { get; set; }
    public string PhoneSecondary { get; set; }
}

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext(): base("DefaultConnection")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.Entity<IdentityUser>().ToTable("MyUsers");
    }
}

- ANTWORT AKTUALISIEREN -

Vielen Dank an Hao Kung und Peter Stulinski. Das hat mein Problem gelöst ...

    protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder.Entity<IdentityUser>().ToTable("MyUsers").Property(p => p.Id).HasColumnName("UserId");
        modelBuilder.Entity<ApplicationUser>().ToTable("MyUsers").Property(p => p.Id).HasColumnName("UserId");
        modelBuilder.Entity<IdentityUserRole>().ToTable("MyUserRoles");
        modelBuilder.Entity<IdentityUserLogin>().ToTable("MyUserLogins");
        modelBuilder.Entity<IdentityUserClaim>().ToTable("MyUserClaims");
        modelBuilder.Entity<IdentityRole>().ToTable("MyRoles");
    }

Antworten auf die Frage(5)

Ihre Antwort auf die Frage