Мне нужна помощь в решении этой проблемы, я использую EF Core 2.2 и ASP.Net Core 2.2
Я пытаюсь удалить некоторые телефоны из моей сущности (пользователя), но при выполнении dbcontext.SaveChanges ()создать исключение: коллекция была изменена;Операция перечисления может не выполняться.
My UserService
User entity = _userRepository.GetById(model.Id);
var numbers = GetDeletePhoneNumbers(model, entity.UserPhones.ToList());
foreach (var number in numbers)
{
entity.RemoveUserPhones(_userPhoneRepository.GetByPhoneNumber(number));
_userRepository.Modify(entity);
}
Мой метод получения телефонов удаления
private List<string> GetDeletePhoneNumbers(UserModel model, List<UserPhone> userPhones)
{
return userPhones.Where(c => !model.Phones.Any(u => u.Number == c.Phone.Number)).Select(c => c.Phone.Number).ToList();
}
И мой класс репозитория
protected override void InternalModify(TEntity entity)
{
this._dbContext.Set<TEntity>().Update(entity);
_dbContext.SaveChanges();
}
мой StackTrace для исключения
System.ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion () в System.Collections.Generic.Dictionary 2.ValueCollection.Enumerator.MoveNext()
at System.Linq.Enumerable.ConcatIterator
1.MoveNext () в System.Linq.EnumeNove.Werable.here)
Ты за помощь ...