PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

EF Core GroupBy con Seleziona conteggio distinto

Attualmente qualsiasi tipo di distinzione all'interno dei gruppi (come Distinct all'interno di ElementSelector di GroupBy o un altro GroupBy all'interno di ElementSelector di GroupBy ) non è supportato da EF Core . Se insisti nell'usare EF in questo caso, devi recuperare alcuni dati in memoria:

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());