Pour moi, la première chose est que vous devriez envisager d'utiliser certains type de pagination de données, car avoir une telle liste de 1 million d'éléments peut être dangereuse.
Avez-vous entendu parler du modèle d'unité de travail?
Vous pouvez l'implémenter de sorte que vous marquez des objets à créer, mettre à jour ou supprimer, et plus tard, vous appelez "SaveChanges", "Commit" ou tout autre travail "apply changes", et vous aurez terminé. Par exemple, vous itérez sur l'énumérable (oldList) et vous les marquez comme "supprimer". Plus tard, vous appelez "SaveChanges" et l'unité de travail générique, plus abstraite, parcourra la petite liste filtrée d'objets avec lesquels travailler.
Quoi qu'il en soit, éviter les listes d'un milion articles. Vous devriez travailler avec des listes d'objets paginés.
Il semble qu'il y ait ici deux questions différentes. Je ne sais pas pourquoi ils ont été combinés. –