Как убрать из одного списка все элементы в другом?

m чтение набора строк из удаленной базы данных и аналогичного набора из локальной базы данных, а затем использование RemoveAll, чтобы избавиться от удаленных строк, которые уже присутствуют локально ...

remote_events = (From a In remote.Events
                          Where ...etc...).ToList
local_events = (From a In local.Events
                            Where ...etc...).ToList
remote_events.RemoveAll(Function (ByVal event_row As Remote_Event)
    (From a In local_events Where a.Identifier = event_row.Identifier).Count > 0)

но это неМне кажется, это неправильно. Я неЯ думаю, мне следует считать вещи, когда все, что мне действительно нужно, это проверить, существует ли совпадение. Я'мы пробовали различные способы использованияIsDBNull а такжеIsNothing но получи ерунду. Я могу'т использовать.Except (как предложеноВот) потому что элементы списка не одного типа.

Есть ли лучший способ сделать это?

Ответы на вопрос(2)

Я пытаюсь сделать это без визуальной студии, поэтому яЯ не уверен, что это сработает, но яЯ полагаю, вы могли бы сделать что-то в этом роде, если выВы пытаетесь сделать, это сравнить:Identifier

    Remote_Events = (From r_evt In Remote_Events
                    Where Not ((From l_evt In Local_Events Select l_evt.Identifier).Contains(r_evt.Identifier))
                    Select r_evt).ToList

Я надеюсь, что это помогает и, по крайней мере, двигает вас в правильном направлении.

 John Bustos19 июн. 2013 г., 16:11
Не беспокойся, Брайан. К счастью, я получаю достаточно ответов от других вопросов :) - Я просто хотел, чтобы вы знали, что на данный момент это должно быть 2 списка вас »Мы имеем дело с БД, и поэтому не должно быть никакого участия БД, основанного на том, как вы задали его в своем вопросе ... В любом случае, пока вы работаете,самая важная часть.
 Brian Hooper19 июн. 2013 г., 09:45
Джон, извини, что разогнал тебя. Попытка этого вызвала исключение, имя которого я забыла, но суть в том, что я не моглаВложите запросы в разные базы данных таким образом. Я не'Тяжело заниматься этим вопросом; возможно я должен был упорствовать
 Brian Hooper18 июн. 2013 г., 15:07
Извини не смогзаставить это работать; таблицы находятся в двух разных базах данных.
 John Bustos18 июн. 2013 г., 21:08
Я нене понимаю, почему это будет иметь значение .... Это не должно было помешать этому работать ....
 Brian Hooper10 июн. 2013 г., 16:46
Это лучше всего; не включать их в первую очередь.
Решение Вопроса

я

    remote_events.RemoveAll(Function(e) local_events.Exists(Function(f) f.Identifier = e.Identifier))

Ваш ответ на вопрос