我有一个 Person 对象列表:
List<PersonData> AllPersons
从这个列表中,我想要所有那些基于某个属性重复的人对象。
例如,此代码根据 Id 给出所有重复项
var duplicateKeys = AllPersons.GroupBy(p => p.Id).Select(g => new { g.Key, Count = g.Count() }).Where(x => x.Count > 1).ToList().Select(d => d.Key);
duplicates = AllPersons.Where(p => duplicateKeys.Contains(p.Id)).ToList();
p.Id 部分可以是动态的吗?
这意味着如果用户在配置文件中指定唯一列并且它的读取方式如下:
string uniqueColumn = "FirstName";
如何组合查询以添加该功能?
问候。