私はLINQクエリを使用して、それぞれの特定のオブジェクトタイプをいくつ確認し、それらの値を匿名型に記録しようとしています。 GROUP BYのLINQクエリと匿名タイプのCount(*)
GroupId
1
1
2
2
2
3
私はSQLで私のクエリをフォーマットする方法を知っているのは、私はこのようになりますいくつかのデータを持っていると言う(そこは本当にこのプロパティを暴露するオブジェクトですが、それは同じように動作します)してみましょう。
SELECT grp = GroupId, cnt = COUNT(*)
FROM myTable
GROUP BY GroupId
この場合、出力はthisのようなものになるだろう:それはこのようなものになるだろう、私はvb.netでLINQと同じことを行うことができますどのように
GroupID Count
1 2
2 3
3 1
Dim groupCounts = From person In data
Group By person.GroupId
Select new {group = person.GroupId, count = count(*)}
これは間違いですが、近いと思います。
また、匿名型についてはあまり知らないのですが、実際にはそれぞれグループとカウントプロパティを持つ項目の列挙になると、先にgroupCounts
を宣言できますか?
var query = from person in data
group person by person.GroupId into grouping
select new { Key = grouping.Key, Count = grouping.Count() }
しかし、私はVBで次のコードをテストしてきたし、それが動作します::