Requête LINQ avec GROUP BY et Count(*) dans Anonyme de Type
Je suis en train d'utiliser une requête LINQ pour déterminer le nombre de chaque type d'objet particulier que j'ai et enregistrer ces valeurs dans un type anonyme.
Disons que j'ai des données qui ressemble à ceci (il y a vraiment des objets d'exposer cette propriété, mais il va fonctionner de la même)
GroupId
1
1
2
2
2
3
Je sais comment formater ma requête dans SQL. Il serait quelque chose comme ceci:
SELECT grp = GroupId, cnt = COUNT(*)
FROM myTable
GROUP BY GroupId
Dans ce cas, la sortie serait quelque chose comme ce SQL Violon:
GroupID Count
1 2
2 3
3 1
Comment puis-je faire la même chose avec LINQ dans vb.net
Dim groupCounts = From person In data
Group By person.GroupId
Select new {group = person.GroupId, count = count(*)}
Ce n'est pas tout à fait raison, mais je pense que c'est à proximité.
Aussi, de ne pas savoir beaucoup sur les types anonymes, puis-je réellement besoin de les déclarer groupCounts
à l'avance que ce sera une énumération des éléments qui ont chacun un groupe et de la propriété count?
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser cette LinqPad, et de substrat pour votre base de données de l'entité, il doit obtenir de vous rapprocher.
J'ai l'habitude de C#:
Mais j'ai testé l'extrait de code suivant dans VB et ça fonctionne:
Si vb est un peu bizarre quand il s'agit de la traduction de cette syntaxe. Il semble que vous ne pouvez insérer des groupes
into
un élément intitulé exactement "Group
". Cette expose puis le reste des fonctionnalités de regroupement