Проблема заключается в следующем:
Я обновил проект до EF Core 3.1 Мой код для отображения дублированных адресов электронной почты в базе данных компаний перестал работать. Этот код больше не работает после обновления:
cos = cos.Where(x => !string.IsNullOrEmpty(x.Email)).GroupBy(c => c.Email).Where(c => c.Count() > 1).SelectMany(grp => grp);
return View(await cos.ToListAsync());
Я думаю, что это проблема:
До EF Core 3.0 это было сделано неявно, поэтому EF загрузил все строки результатов и затем применил LINQ GroupBy. Однако это неявное поведение может позволить программисту ожидать, что весь запрос LINQ будет выполнен в SQL, что может привести к огромному влиянию на производительность, когда набор результатов достаточно велик. По этой причине неявная оценка на стороне клиента GroupBy была полностью отключена в EF Core 3.0.
Знаете ли вы, как изменить код для работы с EF Core 3.1? Спасибо за вашу помощь.