给定IList<Foo>
的数据集如下所示:
ID CHILD PARENT TYPE
1 102 101 UPSELL
1 103 101 UPSELL
2 102 101 BONUS
2 104 103 BONUS
3 102 101 BONUS
4 102 101 PRODUCT
4 104 102 PRODUCT
如何使用LINQ查找父ID相同的子项?
所需的输出
ID CHILD PARENT TYPE
4 102 101 PRODUCT
答案 0 :(得分:3)
我认为这就是你要找的东西。我先按ID分组,这样我就可以单独处理每个组,但可能有办法将它组合成一个查询。
var grouping = foos.GroupBy(f => f.ID);
foreach(var g in grouping)
{
var result = (from f1 in g from f2 in g where f1.Child == f2.Parent select f1);
if( result.Any())
{
// you have your answer
}
}