Для меня первая вещь, вы должны рассмотреть возможность использования некоторых вид сбора данных, потому что наличие такого списка 1-milion-items-large может быть опасным.
Слышали ли вы о шаблоне Единицы работы?
Вы можете реализовать его, чтобы вы отмечали объекты для создания, обновления или удаления, а затем вы вызываете «SaveChanges», «Commit» или любой другой, выполняющий задание «применить изменения», и вы сделаете это.
Например, вы перебираете перечислимый (oldList) и отмечаете их как «удалить». Позже вы называете «SaveChanges», и более абстрактная, общая единица работы будет перебирать небольшой, отфильтрованный список объектов для работы.
Во всяком случае, во избежание крены Milion элементов. Вы должны работать с выгружаемыми списками объектов.
Похоже, что есть два разных вопроса здесь. Я не знаю, почему они были объединены. –