我有两个List<object>
。对象中的字段是party_id。
有没有办法,使用LINQ,只获取常见party_ids的列表?那么,也许加入Party ID上的列表然后返回带匹配的列表?
在SQL中,我想我会这样做:
SELECT DISTINCT party_id FROM table1
INNER JOIN table2 on table1.party_id = table2.party_id
感谢。
答案 0 :(得分:4)
你可以试试这个:
table1.Select(r => r.party_id).Intersect(table2.Select(r => r.party_id))
答案 1 :(得分:3)
怎么样
var results = list1.Where(f => list2.Exists(s => f.party_id == s.party_id))
.Select(x => x.party_id);
答案 2 :(得分:3)
在没有提取Reflector并验证上述可行解决方案的实现的情况下,我认为使用Join(...)
最有效:
var party_on_dude = from table1
join table2 on table1.party_id equals table2.party_id
select table1.party_id;