我是否通过实现自己的映射到现有用户表来搞乱正常的表创建?运行应用程序时,数据库中不会生成正常的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中表格中包含正确的信息。
由于我使用的是现有数据库,我是否应该假设我需要手动创建这些表?
对此的任何帮助将不胜感激。