Для агрегирования произвольных подзапросов используйте фиктивный однострочный набор результатов, из которого вы вложите нужные подзапросы.Предполагая, что db
представляет ваш DbContext, код для подсчета типов счетов будет выглядеть следующим образом:
var counts = (
from unused in db.Invoices
select new {
Count1 = db.Invoices.Count(i => i.Type == 0),
Count2 = db.Invoices.Count(i => i.Type == 1),
Count3 = db.Invoices.Count(i => i.Type == 2)
}).First();
Если вы хотите получить общее количество всех типов, используйте группирование:
var counts =
from i in db.Invoices
group i by i.Type into g
select new { Type = g.Key, Count = g.Count() };