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

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         }

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-09
  • 2022-12-23
猜你喜欢
  • 2021-07-29
  • 2022-12-23
  • 2022-12-23
  • 2021-06-03
  • 2022-12-23
  • 2022-01-16
  • 2021-09-04
相关资源
相似解决方案