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

Using Distinct() for filtering duplicated records in Linq

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

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

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

所以这在集合中有重复的电子邮件。我想排除具有重复电子邮件记录的对象记录。

只需按电子邮件分组并取每组中的第一个(删除重复项),最后将其转换为可查询(这里我假设 ListArray,...名称是列表):

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