Bri*_*per 0 linq vb.net lambda
我正在从远程数据库读取一组行,从本地数据库读取类似的集合,然后使用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)
Run Code Online (Sandbox Code Playgroud)
但这对我来说似乎不对.当我真正需要做的是检查是否存在匹配时,我认为我不应该计算事物.我已经试过的各种用途IsDBNull和IsNothing,但得到的废话.我不能使用.Except(这里建议)因为列表元素不是同一类型.
有没有更好的方法呢?
一种方法是:
remote_events.RemoveAll(Function(e) local_events.Exists(Function(f) f.Identifier = e.Identifier))
Run Code Online (Sandbox Code Playgroud)