2009-04-29 10 views

Antwort

17

In C#, so etwas wie.?:

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() }; 

die Projektion von „1“ macht deutlich, dass alles, was wir brauchen, ist der Schlüssel der Gruppierung ist und die Zählung - die einzelnen Einträge in jeder Gruppierung irrelevant sind

EDIT:. Jetzt mit Lambda-Syntax und Punktnotation:

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

Sie sind so schnell, wenn es um LINQ geht. Nettes Beispiel! – pyrocumulus

+0

@Jon - Für zusätzliche Gutschrift, können Sie diese Abfrage in Lambda-Syntax tun? –

+0

Danke Jon für deine Hilfe – Wondering