帮助!我正在将旧的ADO应用程序迁移到Entity和Identity Framework。我有一个USERS表,我的分析师不允许我改变任何东西。它与其他上下文表和这个有福的ID列有关系。 使用标识我按照以下步骤操作:
1-I已将USER实体更改为继承IdentityUser。
2-I我配置了Identity上下文以使用我的应用程序的上下文。
3-我覆盖了OnModelCreating,将AspNetUsers重命名为USERS。
一切都近乎有效。但我陷入了停顿:
如果我删除了我的USER类的ID属性,则视图调用Action以使用POST等创建,但userManager.Create返回一个错误,指出该实体没有所需的ID。如果我离开ID属性,视图既不会调用Action。并收到错误" System.ArgumentException:已添加具有相同密钥的项目。"
我相信这是因为我拥有IdentityUser的ID和旧版ID。有人可以给我一个想法吗?我需要在USERS表中使用ID列。
我尝试使用昵称,但不能正常工作......
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<IdentityUser>()
.ToTable("USUARIOS")
.Property(p => p.Id)
.HasColumnName("ID");
modelBuilder.Entity<USUARIOS>()
.ToTable("USUARIOS")
.Property(p => p.Id)
.HasColumnName("ID");
}