给定一个简单的模式,例如PurchaseOrders {OrderId,Total,LineItemCount},我想为一些简单的统计信息生成一个简单的查询,如下所示:
select sum(lineitemcount) as totalitems, sum(total) as totalsales from purchaseorders
但是在Linq to Sql中,我正在努力将其纳入一个查询中。
目前,我有这个:
decimal totalSales = PurchaseOrders.Sum(po => po.Total) decimal totalItems = PurchaseOrders.Sum(po => po.LineItemcount)
有没有一种方法可以将其作为一个查询来完成?
我能想到的是给它一个假的group-by子句。它可以正常工作,并能按您期望的那样输出,但是生成的SQL实际上最终传递了参数“ 1”并对其进行分组,这是次优的选择。这是我所学到的语法:
PurchaseOrders .GroupBy(po => 1) .Select(pogroup => new { TotalSales = pogroup.Sum(po => po.Total), TotalItems = pogroup.Sum(po => po.LineItemCount) });