2009-04-29 18 views

Odpowiedz

17

W języku C#, coś takiego.?:

var query = from category in mycatg 
      where category.IsPublic == 1 
       || category.FirstName == "XXX" 
      group 1 by category.Catg into grouped 
      select new { Catg = grouped.Key, 
         Count = grouped.Count() }; 

projekcja „1” wyjaśnia, że ​​wszystko czego potrzebujemy jest kluczem do grupowania i zliczania - poszczególne pozycje w każdej grupie są nieistotne

EDIT:. teraz z składnia lambda i notacja kropkowa:

var query = mycatg.Where(category => category.IsPublic == 1 
         || category.FirstName == "XXX") 
        .GroupBy(category => category.Catg, 
          category => 1) 
        .Select(grouped => new { Catg = grouped.Key, 
              Count = grouped.Count() }); 
+0

Jesteś szybki, jeśli chodzi o LINQ. Dobry przykład! – pyrocumulus

+0

@Jon - Dla dodatkowego kredytu, możesz zrobić to samo zapytanie w składni lambda? –

+0

Dzięki Jon za pomoc – Wondering

Powiązane problemy