0
我试图重命名我的Identity 2.0表,以使我的应用程序名称在它们之前。所以我重写OnModelCreating:ASP.NET迁移期望AspNetUsers即使它在OnModelCreate中重命名
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<IdentityUser>().ToTable("appname_Users");
modelBuilder.Entity<IdentityRole>().ToTable("appname_Roles");
modelBuilder.Entity<IdentityUserClaim>().ToTable("appname_UserClaims");
modelBuilder.Entity<IdentityUserLogin>().ToTable("appname_UserLogins");
modelBuilder.Entity<IdentityUserRole>().ToTable("appname_UserRoles");
}
我删除了文件夹迁移,确信这些表不存在,就跑:
enable-migrations -Force
update-database
当我尝试登录到该网站,还在说它找不到dbo.AspNetUsers。
当我检查迁移脚本,我看到以下内容:
CreateTable(
"dbo.AspNetUsers",
c => new
{
Id = c.String(nullable: false, maxLength: 128),
})
.PrimaryKey(t => t.Id)
.ForeignKey("dbo.appname_Users", t => t.Id)
.Index(t => t.Id);
它在哪里,甚至得到它需要AspNetUsers的想法?我搜索了文档,无法找出发生了什么。任何帮助,将不胜感激。
我看到你在做实体和我在做实体 ..也许这就是问题所在?我不知道有什么区别 –
工作就像一个魅力,谢谢!这就是我正在做的,我使用IdentityUser而不是ApplicationUser。 –
由于提供了关于创建自定义标识类的附加信息,所以即使在标记答案之后我也进行了投票。再次感谢。 –