score:3

Accepted answer

you can use the count overload that accepts a predicate:

var results = from message in context.inbox
              group message by message.name into g
              select new 
              { 
                  name = g.key, 
                  unread = g.count(m => m.status == "unread"),
                  total = g.count()
              };

Related Query

More Query from same tag