In C #, something like:
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() };
Projection "1" makes it clear that all we need is a grouping key and a counter - individual entries in each group do not matter.
Using lambda syntax and dot notation:
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() });
Jon skeet
source share