Her bir belirli nesne türünün kaçını saptamak ve bu değerleri anonim bir türe kaydetmek için bir LINQ sorgusu kullanmaya çalışıyorum. GROUP BY ve Count (*) ile LINQ sorgusu Anonim Tip içine
GroupId
1
1
2
2
2
3
SQL'de benim sorgu biçimlendirmek biliyorum en Şöyle bazı veriler var demek (orada gerçekten bu özelliği açığa nesneler oldukları için, ama aynı çalışacağız) olsun.
SELECT grp = GroupId, cnt = COUNT(*)
FROM myTable
GROUP BY GroupId
Bu durumda çıkış this gibi bir şey olurdu: Böyle bir şey olurdu ben vb.net içinde LINQ ile aynı şeyi yapabilir Nasıl
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(*)}
Bu doğru değil ama bence yakın.
Ayrıca, anonim türler hakkında fazla bir şey bilmemekle birlikte, her birinin bir grup ve mülk özelliği olan öğelerin numaralandırması olacağını önceden groupCounts
bildirebilir miyim?
var query = from person in data
group person by person.GroupId into grouping
select new { Key = grouping.Key, Count = grouping.Count() }
Ama VB aşağıdaki pasajı test ettik ve işe yarıyor: