HACK ALERT , но это работает.Попробуйте сгруппировать свои записи по условию, которое они все разделяют:
var result = from g in db.Employees
group g by g.Id.GetType() == typeof(int) into gg
select new
{
Count = gg.Count(),
Sum = gg.Sum(x => x.Salary)
};
. Это генерирует SQL:
SELECT COUNT(*) AS [Count], SUM([t1].[Salary]) AS [Sum]
FROM (
SELECT 1 AS [value], [t0].[Salary]
FROM [dbo].[Employee] AS [t0]
) AS [t1]
GROUP BY [t1].[value]
Вложен подзапрос, но эй!это только одна поездка в дб