Как я могу изменить имена таблиц при использовании ASP.NET Identity?

Я использую выпускную версию (RTM, а не RC) Visual Studio 2013 (загруженную с MSDN 2013-10-18) и, следовательно, последнюю (RTM) версию AspNet.Identity. Когда я создаю новый веб-проект, я выбираю «Индивидуальные учетные записи пользователей» для аутентификации. Это создает следующие таблицы:

AspNetRolesAspNetUserClaimsAspNetUserLoginsAspNetUserRolesAspNetUsers

Когда я регистрирую нового пользователя (используя шаблон по умолчанию), создаются эти таблицы (перечислены выше), и в таблицу AspNetUsers вставляется запись, которая содержит:

Я быUserNamePasswordHashSecurityStampдискриминатор

Кроме того, добавляя открытые свойства в класс «ApplicationUser», я успешно добавил дополнительные поля в таблицу AspNetUsers, такие как «FirstName», «LastName», «PhoneNumber» и т. Д.

Вот мой вопрос. Есть ли способ изменить имена вышеприведенных таблиц (при их первом создании) или они всегда будут именоваться с помощьюAspNet префикс как я перечислил выше? Если имена таблиц могут называться по-разному, объясните, пожалуйста, как.

-- ОБНОВИТЬ --

Я реализовал решение @Hao Kung. Он создает новую таблицу (например, я назвал ее MyUsers), но он также создает таблицу AspNetUsers. Цель состоит в том, чтобы заменить таблицу «AspNetUsers» на таблицу «MyUsers». Смотрите код ниже и изображение базы данных созданных таблиц.

Я на самом деле хотел бы заменить каждыйAspNet таблица с моим собственным именем ... Для fxample, MyRoles, MyUserClaims, MyUserLogins, MyUserRoles и MyUsers.

Как мне сделать это и получить только один набор таблиц?

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");
    }
}

- ОБНОВЛЕНИЕ ОТВЕТА -

Спасибо Хао Кунгу и Петру Стулински. Это решило мою проблему ...

    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");
    }

Ответы на вопрос(5)

Ваш ответ на вопрос