Как решить ошибку Collection was modified; enumeration operation may not execute в таком коде?

Он получает ссылки по сущности. Потом, для этой сущности ссылки и идет повтор. Задача в том, чтобы не обрабатывать те сущности, что уже были опрошены. Для этого записываю в result все ид, и фильтрую по тем, что достал из ссылки. Чтобы в итоге по ссылке получить только уникальные ид.

protected List<int> GetEntitiesIdsFromLinksLoop(int entityId)
{
     List<int> result = new List<int>() { entityId };
     List<int> entitiesIds = new List<int>() { entityId };

    while (entitiesIds.Any())
    {
        int entityIdFromList = ListUtils.Pop(entitiesIds);
        List<Link> entityLinks = Context.ExtensionManager.DataService.GetOutboundLinksForEntity(entityIdFromList);

        List<int> entitiesIdsFromLinks = GetEntitiesIdsFromLinks(entityLinks);
        var notHandledEntities = result.Where(firstItem => !entitiesIdsFromLinks.Any(secondItem => firstItem == secondItem));

        entitiesIds.AddRange(notHandledEntities);
        result.AddRange(notHandledEntities); // Collection was modified; enumeration operation may not execute
    }
}

Ответы (0 шт):