我已在我的应用中实施了Identity 2.0,但无法获得登录和声明与我的应用用户类相关联。我使用以下方法生成表(和键):
modelBuilder.Entity<ApplicationUser>().ToTable("User");
modelBuilder.Entity<ApplicationUser>().Property(p => p.Id).HasColumnName("UserId");
modelBuilder.Entity<IdentityUserLogin>().ToTable("UserLogin");
modelBuilder.Entity<IdentityUserLogin>().HasKey<string>(l => l.UserId);
modelBuilder.Entity<IdentityUserClaim>().ToTable("UserClaim");
modelBuilder.Entity<IdentityUserClaim>().HasKey<int>(l => l.Id);
modelBuilder.Entity<IdentityRole>().ToTable("Role");
modelBuilder.Entity<IdentityRole>().HasKey<string>(r => r.Id);
modelBuilder.Entity<IdentityUserRole>().ToTable("UserRole");
modelBuilder.Entity<IdentityUserRole>().HasKey(r => new { r.RoleId, r.UserId });
在通过以下方式存储新声明时,除了已存在的UserId列之外,每个表都会创建一个额外的ApplicationUser_Id列:
await UserManager.AddClaimAsync(user.Id, tokenClaim);
UserId字段填充了正确的用户ID,但ApplicationUser_Id保持空白,因此当我检索用户时,没有与之关联的声明或登录。我怎么能纠正这个?