Использование Distinct () для фильтрации дублированных записей в Linq - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть несколько дублированных записей электронной почты. Мне также нужно вернуть IQueryable тип.

Я пытался Distinct(), но у меня не получилось, потому что я хочу вернуть IQueryable Тип. Я получил ошибку, из-за которой не удалось неявно преобразовать универсальный список коллекций систем типов в System.Linq.IQueryable (Вы пропустили приведение):

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

Так что это дублирует электронные письма в коллекции. Я хотел бы исключить запись объекта, которая дублировала записи электронной почты.

1 Ответ

0 голосов
/ 05 апреля 2019

Просто сгруппируйте по электронной почте и возьмите первое в каждой группе (удалите дубликаты), а в конце преобразуйте его в Queryable (здесь я предполагаю, что List или Array, ... name is list):

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