我按照this question中的建议重命名我的ASP.NET标识表:
modelBuilder.Entity<IdentityUserClaim>().ToTable("UserClaim");
modelBuilder.Entity<IdentityUserRole>().ToTable("UserRole");
modelBuilder.Entity<IdentityUserLogin>().ToTable("UserLogin");
modelBuilder.Entity<IdentityRole>().ToTable("Role");
modelBuilder.Entity<IdentityUser>().ToTable("User");
modelBuilder.Entity<ApplicationUser>().ToTable("User");
但是,这会导致UserClaim与用户关系的两个属性 - UserId
和IdentityUser_Id
:
有什么方法可以解决这个问题吗?
答案 0 :(得分:26)
你应该跳过以下行,然后它运作得非常好:
modelBuilder.Entity<IdentityUser>().ToTable("User");
所以你需要的唯一映射是:
modelBuilder.Entity<IdentityUserClaim>().ToTable("UserClaim");
modelBuilder.Entity<IdentityUserRole>().ToTable("UserRole");
modelBuilder.Entity<IdentityUserLogin>().ToTable("UserLogin");
modelBuilder.Entity<IdentityRole>().ToTable("Role");
modelBuilder.Entity<ApplicationUser>().ToTable("User");
希望有所帮助。