morelinq 由多个属性区分

morelinq distinct by multiple properties

我一直在使用 morelinq 创建一个不同的 objects 列表。我的 objects 有大约 20 个属性,其中 none 在最终列表中将是唯一的。 然而,将 2 个属性一起使用可以揭示独特的 objects:

Parent 编号 | Child 身份证

我看到 this question 并认为这是同样的问题所以我下载了 morelinq 并尝试使用:

list = list.DistinctBy(c => new { c.id, c.parentid }).ToList();

然而,这会导致在 EITHER 属性 上产生不同的列表,而不是在两者上产生不同的列表(所以我只会看到一个 child 每个 parent)

使用 morelinq 实现此目的的正确方法是什么?

    list = list
           .GroupBy(a=> new { a.id, a.parentid})
           .Select(a=> a.first());