我无法将UserRole添加到IdentityUser。具有相同键值的EF实例实例

时间:2019-06-25 14:13:25

标签: c# entity-framework asp.net-core

我正在尝试使用IdentityUser在我的应用程序中创建一些用户。一个人可以在数据库中有多个用户。首先,我要保存AspNetUser。然后,如果该人员在数据库中尚不存在,则创建该人员。创建人员之后,我选择先前创建的用户,并在其列中添加属性PersonId并更新记录。

这些步骤之后,我创建了传递UserId和RoleId的UserRole。此时,我收到错误消息“无法跟踪实体类型'User'的实例,因为已经跟踪了另一个键值为'{Id:xxxxxxx}'的实例。在附加现有实体时,请确保只有一个具有附加了给定的键值。“

我已经阅读了有关此问题的其他一些问题,但没有一个起作用。有什么解决办法吗?已经尝试将状态更改为“独立”和其他解决方案。

当前情况是:

_service.Save(userModel);

var person = _service.SavePerson(personModel);

var user = _service.GetUserByEmail(userModel.Email);

user.PersonId = person.Id;
_service.Update(user);


_service.AddInRole(user);

0 个答案:

没有答案