PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

EF Core GroupBy avec Select Distinct Count

Actuellement, tout type de distinction à l'intérieur des groupes (comme Distinct à l'intérieur de ElementSelector de GroupBy ou un autre GroupBy à l'intérieur de ElementSelector de GroupBy ) n'est pas pris en charge par EF Core . Si vous insistez pour utiliser EF dans ce cas, il faut aller chercher des données en mémoire :

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