You can hack this together:
(from x in table where filter(x) group x by 0 into g select new { Count = (int?)g.Count() ?? 0, Sum = (int?)g.Sum(x => x.Value) ?? 0 }).Single()
SQL Server optimizes unnecessary grouping. It is probably best to document why you wrote it like this.
Edit: I included the weird look in the int. The reason for this is to tell Linq to SQL to assume that the value is NULL and use the COALELCE function call to convert NULL to 0. This is a hack that should also be documented.
source share