Упростить foreach с использованием linq

Есть коллекция. Я делаю запрос в бд и если там появились новые записи, я их добавляю в мою коллекцию Как можно упростить этот кусок кода? Чтобы не использовать foreach, только с помощью linq?

      foreach (MyTask task in query)
        {
            if(!currentTaskCollection.Any(item => item.Id == task.Id))
                currentTaskCollection.Add(task);                    
        }

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

Автор решения: Aziz Umarov

поробуйте так

query.ToList().ForEach( task => {
                if(!currentTaskCollection.Any(item => item.Id == task.Id))
                currentTaskCollection.Add(task);
} );
→ Ссылка
Автор решения: CrazyElf

Я бы, наверное, сделал как-то так, если id в query заведомо не повторяются:

idsExcept = currentTaskCollection.Select(x => x.Id).ToHashSet();
currentTaskCollection = currentTaskCollection.Concat(query.Where(x => !idsExcept.Contains(x.Id))
→ Ссылка