LINQ クエリを使用して、特定のオブジェクト型ごとにいくつあるかを判断し、それらの値を匿名型に記録しようとしています。
このようなデータがあるとします (実際にはこのプロパティを公開するオブジェクトがありますが、同じように機能します)。
GroupId
1
1
2
2
2
3
SQL でクエリをフォーマットする方法を知っています。次のようになります。
SELECT grp = GroupId, cnt = COUNT(*)
FROM myTable
GROUP BY GroupId
この場合、出力は次のSQL Fiddleのようになります。
GroupID Count
1 2
2 3
3 1
vb.netのLINQで同じことを行うにはどうすればよいですか
Dim groupCounts = From person In data
Group By person.GroupId
Select new {group = person.GroupId, count = count(*)}
正確ではありませんが、近いと思います。
また、匿名型についてあまり知らないのでgroupCounts
、グループとカウントのプロパティを持つアイテムの列挙になることを実際に事前に宣言できますか?