我在asp.net Web-api 2项目中收到对POSTapi/accounts/请求时,试图创建一个新用户。

尝试1:创建Identity User

我已经完全按照项目模板中显示的进行了尝试:

// Inside Post() method
IdentityUser newUser = new IdentityUser()
{
    UserName = "username",
};
IdentityResult result = await this.UserManager.CreateAsync(newUser, "password");



  System.Data.Entity.Core.UpdateException:
  无法将值NULL插入表的“ Discriminator”列中
  'MyDb.dbo.AspNetUsers';列不允许为空。插入
  失败。\ r \ n该语句已终止。


尝试2:创建User

我还尝试添加IdentityUser的子类版本:

// Definition
public class User : IdentityUser
{
    public User() { }
}

// Inside Post() method
User newUser = new User()
{
    UserName = userDto.Email,
};
IdentityResult result = await this.UserManager.CreateAsync(newUser, "password");



  System.InvalidOperationException:
  找不到EntityType的映射和元数​​据信息
  “ MyProject.Data.User”。


它本来可以正常工作,但我不知道为什么现在不行了。最初,我在用户对象上添加了两个字段(名字,姓氏),但是删除它们后仍然存在问题。

最佳答案

对于ASP身份2.2列Discriminator已删除了表单数据库
您可以迁移数据库或仅删除列

10-06 00:41