1、去重获取单列数据的列表
1) 使用Distinct()
方法
db.PageInfos.Select(p => p.Type).Distinct().ToList();
2)使用GroupBy()
方法
db.PageInfos.GroupBy(p => p.Type).Select(p=>p.Key).ToList();
2、去重获取Model数据的列表
使用DistinctBy()
扩展方法来实现,可以返回Model列表数据。
public static class DistinctByClass
{
public static IEnumerableDistinctBy (this IEnumerable source, Func keySelector)
{
HashSetseenKeys = new HashSet ();
foreach (TSource element in source)
{
if (seenKeys.Add(keySelector(element)))
{
yield return element;
}
}
}
}