首页 .Net .NET Core EF Core(Entity Framework Core)去掉重复数据(distinct)

.NET Core EF Core(Entity Framework Core)去掉重复数据(distinct)

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列表数据。

publicstatic>DistinctByClass
{
publicstaticIEnumerable<TSource>DistinctBy<TSource,TKey>(thisIEnumerable<TSource>source,Func<TSource,TKey>keySelector)
{
HashSet<TKey>seenKeys=newHashSet<TKey>();
foreach(TSourceelementinsource)
{
if(seenKeys.Add(keySelector(element)))
{
yieldreturnelement;
}
}
}
}
特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。