사용자의 데이터베이스 백 스토어를 관리하기 위해 먼저 Entity Framework 코드를 사용하고 있습니다. "사용자에게 역할 추가"작업을 수행하여 db에서 사용자를 끌어오고 해당 사용자를 역할에 추가 한 다음 변경 사항을 저장합니다. 그러나이 작업을 수행 할 때 사용자의 새로운 복사본이 데이터베이스에서 db (또는 고유 키)를 가져온 사용자와 다른 새 ID (고유 키)로 삽입되고 이유가 확실하지 않습니다. 왜 이런 일이 일어나고 있는지에 대한 생각?역할에 사용자 추가 사용자 테이블에 중복 사용자 삽입
IEnumerable<long> usersIdsToGiveRole = from u in vm.UsersNotInSelectedRole where u.IsSelected select u.Id; // say, yields "5"
IEnumerable<User> usersToGiveRole = _userRepository.InternalUsers.Where(u => usersIdsToGiveRole.Contains(u.ID)); // gets user with ID 5
foreach (var user in usersToGiveRole)
{
selectedRole.UsersWithRole.Add(user);
}
_roleRepository.SaveChanges(); // creates new user with ID 6 cloning all other fields of user 5
네, 그게 전부입니다. 정말 고마워! – Dejas