当前位置: 首页 > 编程语言 > C#

LINQ:根据列值共享选择重复行

时间:2023-04-10 21:53:12 C#

LINQ:根据列值选择重复行我试图在我的DataGrid中显示那些共享相同列值的行。例如,对于姓氏相同的人,我试过这个:dataGrid.ItemsSource=_dataContext.Addresses.GroupBy(a=>a.SurName).Where(grp=>grp.Count()>1).Select(grp=>grp.Key);这似乎有效,因为我的WPFDataGrid在此命令之后包含行......最后它只显示空行,因为没有列填充值。或者我尝试与同一个城市的人一起尝试:dataGrid.ItemsSource=_dataContext.Addresses.GroupBy(a=>a.City).Where(grp=>grp.Count()>1).Select(grp=>grp.Key).选择(a=>a);有没有正确的方法来做到这一点?您刚刚在示例中选择了键:dataGrid.ItemsSource=_dataContext.Addresses.GroupBy(a=>a.SurName).Where(grp=>grp.Count()>1).Select(grp=>**grp。钥匙**);我假设您要做的是选择整行:dataGrid.ItemsSource=_dataContext.Addresses.GroupBy(a=>a.SurName).Where(grp=>grp.Count()>1).SelectMany(grp=>grp.Select(r=>r));比较名字和姓氏:dataGrid.ItemsSource=_dataContext.Addresses.GroupBy(a=>newTuple(a.ForeName,a.SurName)).Where(grp=>grp.Count()>1).SelectMany(grp=>grp.Select(r=>r));编辑:对于L2E,您可以(我认为)使用匿名类型:dataGrid.ItemsSource=_dataContext.Addresses.GroupBy(a=>new{a.ForeName,a.SurName}).Where(grp=>grp.Count()>1).SelectMany(grp=>grp.Select(r=>r));以上可能是错误的是的——不是100%确定。以上就是C#学习教程:LINQ:根据Column-Value选择重复行,分享所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: