300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > linq 根据指定条件返回集合中不重复的元素

linq 根据指定条件返回集合中不重复的元素

时间:2019-06-14 00:23:22

相关推荐

linq 根据指定条件返回集合中不重复的元素

原理:先查询出数据,根据指定值分组,然后取第一条映射

1.第一种方法

1 string sql = string.Format("select*from PoliceLogistcs);2 db.Database.SqlQuery<PoliceLogistcs>(sql).GroupBy(p => p.DepartmentNumber).Select(p => p.First());

//多个条件时候

3 db.Database.SqlQuery<PoliceLogistcs>(sql).GroupBy(p => new { p.Id, p.DepartmentNumber }).Select(p => p.First());

2.封装成公共方法

1 /// <summary> 2 ///根据指定条件返回集合中不重复的元素 3 /// </summary> 4 /// <typeparam name="T">动态类型</typeparam> 5 /// <typeparam name="TKey">动态筛选条件类型</typeparam> 6 /// <param name="source">要操作的源</param> 7 /// <param name="keySelector">重复数据筛选条件</param> 8 /// <returns>不重复元素的集合</returns> 9 public static IEnumerable<T> DistinctBy<T, TKey>(this IEnumerable<T> source, Func<T, TKey> keySelector)10 {11 return source.GroupBy(keySelector).Select(group => group.First());12 }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。