未创建Asp.Net标识声明表

时间:2016-09-01 15:06:50

标签: asp.net entity-framework asp.net-identity

我是否通过实现自己的映射到现有用户表来搞乱正常的表创建?运行应用程序时,数据库中不会生成正常的AspNet表。

我能够弄清楚如何使用以下代码将AspNetUsers表映射到我们数据库中的现有表:

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

        modelBuilder.Entity<ApplicationUser>().ToTable("DBUser");

        var entity = modelBuilder.Entity<ApplicationUser>();

        entity.HasKey(x => x.UserID);
        entity.Ignore(x => x.Id);
        entity.Ignore(x => x.PhoneNumber);
        entity.Ignore(x => x.PhoneNumberConfirmed);
        entity.Ignore(x => x.EmailConfirmed);
        entity.Ignore(x => x.LockoutEnabled);
        entity.Ignore(x => x.LockoutEndDateUtc);
        entity.Ignore(x => x.PhoneNumber);
        entity.Ignore(x => x.PhoneNumberConfirmed);
        entity.Ignore(x => x.SecurityStamp);
        entity.Ignore(x => x.TwoFactorEnabled);
        entity.Ignore(x => x.AccessFailedCount);

        entity.Property(x => x.UserID).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
        entity.Property(x => x.PasswordHash).HasColumnName("Password");            
}

但是,当我第一次运行应用程序并注册用户时,通常创建的AspNet前缀表(如UserClaims,UserLogins,UserRoles和Roles)不会由于某种原因而创建,它会将记录插入到我的DBUser中表格中包含正确的信息。

由于我使用的是现有数据库,我是否应该假设我需要手动创建这些表?

对此的任何帮助将不胜感激。

0 个答案:

没有答案