I using LinQPad and AdventureWorks LT DB to learn LINQ query.
I would like to convert the SQL below to LINQ, it is success and resulting what I want.
SELECT SalesOrderID, SUM(OrderQty) as TotalQty, SUM(UnitPrice) as TotalPrice
FROM SalesLT.SalesOrderDetail detail
WHERE detail.SalesOrderID = '71920'
GROUP BY detail.SalesOrderID;

LINQ query alternate to above.
from detail in SalesOrderDetails
where detail.SalesOrderID.Equals(71920)
group detail by detail.SalesOrderID into g
select new {
SalesOrderID = g.Select(item =>item.SalesOrderID).Distinct().First(), /*Distinct() : Enumerable<Int32>, First() Int32 */
TotalQty = g.Select(item =>Convert.ToDouble(item.OrderQty)).Sum(),
TotalPrice = g.Select(item =>item.UnitPrice).Sum()
}

But i would know it is necessary use
Select new { ... }
to create another struct? Is it possible shorten the syntax?
Thanks.