使用Distinct()过滤Linq中的重复记录

时间:2019-04-04 21:22:29

标签: c# linq asqueryable

我有一些重复的电子邮件记录。我还需要返回IQueryable类型。

我尝试了Distinct(),但是因为我想返回IQueryable Type,所以没有为我工作。我遇到一个错误,无法将类型系统集合泛型列表隐式转换为System.Linq.IQueryable(您是否缺少类型转换):

public IQueryable<acadVParent> GetEmailReceiptsId()
{
   return AsQueryable().Where(o => (o.email != null && o.email != ""));
}

因此,这已在集合中重复了电子邮件。我想排除重复电子邮件记录的对象记录。

1 个答案:

答案 0 :(得分:0)

只需通过电子邮件进行分组,然后将每个分组中的第一个分组(删除重复项),最后将其转换为Queryable(这里我假设使用ListArray,...名称是列表):

var result = list.GroupBy(x => x.email).Select(g => g.First()).AsQueryable();