Я пытаюсь создать некоторых пользователей в своем приложении, используя IdentityUser. Один человек может иметь несколько пользователей в базе данных. Сначала я сохраняю AspNetUser. Затем, если человек уже не существует в БД, я создаю Человека. После создания человека я выбираю ранее созданного пользователя, добавляю свойство PersonId в его столбец и обновляю запись.
После этих шагов я создаю UserRole, передавая UserId и RoleId. В этот момент я получаю сообщение об ошибке «Экземпляр типа сущности« Пользователь »не может быть отслежен, поскольку другой экземпляр со значением ключа« {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);