7
votes

Demande LINQ avec groupe et comptez (*) dans le type anonyme

J'essaie d'utiliser une requête LINQ pour déterminer le nombre de chaque type d'objet que j'ai et enregistrer ces valeurs dans un type anonyme.

Disons que j'ai des données qui ressemblent à ceci (il y a vraiment des objets Exposer cette propriété, mais cela fonctionnera de même) P>

Dim groupCounts = From person In data
                  Group By person.GroupId
                  Select new {group = person.GroupId, count = count(*)}


0 commentaires

3 Réponses :


16
votes

Je suis habitué à c #: xxx pré>

mais j'ai testé l'extrait suivant dans VB et fonctionne: P>

Dim files = Directory.GetFiles (Path.GetTempPath()).Take (100).ToArray().AsQueryable()

Dim groups = From f In files Group f By key = Path.GetExtension (f) Into Group
             Select Key = key, NumberGroup = Group.Count()


0 commentaires

2
votes

VB est donc un peu impair lorsqu'il s'agit de traduire cette syntaxe. Il semble que vous ne puissiez insérer que des groupes dans un élément intitulé exactement " groupe ". Cela expose ensuite le reste de la fonctionnalité de regroupement xxx


0 commentaires

7
votes

Essayez d'utiliser ceci sous Linqpad et de supprimer votre entité de base de données, il devrait vous rapprocher. xxx


0 commentaires