我在asp.net Web-api 2项目中收到对POST
的api/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已删除了表单数据库
您可以迁移数据库或仅删除列