Сравните две коллекции и добавьте / удалите из одной, чтобы они соответствовали

У меня есть две таблицы базы данных, которые представляют списки элементов, принадлежащих родительским объектам.

Мне нужно периодически обновлять таблицу B, чтобы она соответствовала таблице A

, используя linq, я получаю набор идентификаторов в таблице A.

Теперь мне нужно добавить и удалить строки из таблицы B, чтобы они совпадали с A.

Каков наиболее эффективный способ сделать это с помощью linq и EF 4.1?

Я могу перебрать коллекцию A и, в этом цикле, пройти через B, проверяя запись, которая соответствует текущему элементу в внешний цикл, добавляющий новый элемент, если совпадение не найдено ... однако мне кажется, что затем мне нужно будет пройти через B второй раз, чтобы удалить любые элементы, которых нет в A. Это кажется неэффективным. Я что-то упустил?

5
задан Henk Holterman 29 November 2011 в 21:18
поделиться