Группа LINQ по синтаксису сбивает меня с толку.В TSQL я могу выбрать несколько столбцов и сгруппировать только один из них.С LINQ это делает меня группировкой по всем столбцам, с которыми я хочу работать.
Как я могу конвертировать этот TSQL в LINQ?
SELECT MAX(Item.itemID) AS Expr1, MAX(Item.title) AS Expr2,
SUM(OrderDetail.quantity) AS Qty, MAX([Order].dateCreated) AS Expr3
FROM Payment INNER JOIN
[Order] ON Payment.ID = [Order].orderID INNER JOIN
OrderDetail ON [Order].orderID = OrderDetail.orderID INNER JOIN
Item ON OrderDetail.itemID = Item.itemID
WHERE ([Order].dateCreated >= '4 / 15 / 2011 12:00:00 AM')
AND ([Order].dateCreated <= '4/15/2011 11:59:00 PM')
GROUP BY Item.itemID
ORDER BY Expr2
var q = from p in db.Payments
join o in db.Orders on p.ID equals o.paymentID
join od in db.OrderDetails on o.orderID equals od.orderID
join i in db.Items on od.itemID equals i.itemID into j1
from j2 in j1
where o.dateCreated >= new DateTime(2011, 4, 15)
group j2 by j2.itemID into g
select new
{
g.Key
};