根据 LINQ 中的单个字段选择不同记录
在 LINQ 中处理数据时,可能需要过滤掉重复记录,确保仅返回唯一值。但是,可能需要根据特定字段或属性执行此操作,而不是消除整个重复行。
基本不同查询
以下 LINQ 查询演示了使用 Distinct() 方法消除重复行的基本方法:
var query = (from r in table1 orderby r.Text select r).Distinct();
此查询检索所有table1 中的行按文本字段排序,然后从结果集中删除所有重复项。
在特定字段上不同
但是如果目标只是返回怎么办特定字段(例如文本)包含唯一值的行?要实现此目的,一个选项是使用 GroupBy() 方法,然后使用 Select() 方法:
table1.GroupBy(x => x.Text).Select(x => x.FirstOrDefault());
在此查询中,table1 首先按文本字段进行分组,为每个唯一的组创建组文本值。然后,对于每个组,使用 FirstOrDefault() 方法选择第一行。结果是行的集合,其中文本字段包含不同的值。
以上是如何在LINQ中根据特定字段选择不同的记录?的详细内容。更多信息请关注PHP中文网其他相关文章!