PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

EF Core GroupBy com Select Distinct Count


Atualmente qualquer tipo de distinção dentro de grupos (como Distinct dentro de ElementSelector de GroupBy ou outro GroupBy dentro de ElementSelector de GroupBy ) não é compatível com EF Core . Se você insistir em usar EF neste caso, você tem que buscar alguns dados na memória:
var result = (await _context.Items
              .Select(p => new { p.ParentAId, p.ParentBId })
              .Distinct()
              .ToListAsync())  // When EF supports mentioned cases above, you can remove this line!
              .GroupBy(i => i.ParentBId, i => i.ParentAId)
              .ToDictionary(g => g.Key, g => g.Distinct().Count());