Работа над разработкой запроса LINQ для возврата тех же результатов, что и этот запрос SQL:
SELECT
x.departmentid,
Count(x.transactionid)
FROM
(
SELECT
t.id AS transactionid,
tp.departmentid AS departmentid
FROM
history.transactions t
JOIN history.transactionproducts tp ON t.id = tp.transactionid
GROUP BY
t.id,
tp.departmentid
) AS x
GROUP BY
x.departmentid
Я изо всех сил пытаюсь понять, как я могу группировать по отделу несколько раз в LINQ.
Вот что я пробовал до сих пор:
var deptTransactionsCount = from transaction in transactions
join product in transactionProducts on transaction.Id equals product.TransactionId
group transaction by new { product.TransactionId, product.DepartmentId }
into groupedbyTransAndDept
select new
{
DepartmentID = groupedbyTransAndDept.Key.DepartmentId,
TotalTransactionsCount = groupedbyTransAndDept.Count()
};
Опять же, я не уверен, как учесть множественные группы по заявлениям.
Вот результаты SQL-запроса:
Результаты