我在LINQ to SQL中有一个非常简单的分组和聚合问题,我就是搞不明白,这让我抓狂。
我已将其简化为以下示例:
类Customer { public Guid Id;public String Name;}
类订单{公共Guid Customer_Id;公共双倍金额;}
如何获取按订单数排序的客户列表?他们购买的总金额是多少?
发布于 2009-12-14 19:26:10
var qry1 = from c in db.Customers
join o in db.Orders on c.Id equals o.Customer_Id into orders
orderby orders.Count()
select c;
var qry2 = from c in db.Customers
join o in db.Orders on c.Id equals o.Customer_Id into orders
orderby orders.Sum(o => o.Amount)
select c;发布于 2009-12-14 19:22:17
return dataContext.Customers.OrderBy(cust => cust.Orders.Count)
.ThenBy(cust => cust.Orders.Sum(order => order.Amount))
.ToList();发布于 2009-12-14 19:24:54
按订单数量:
var customers = (from c in db.Customers
select new
{
c.Name,
OrderCount = c.Orders.Count()
}).OrderBy(x => x. OrderCount);按购买总额计算:
var customers = (from c in db.Customers
select new
{
c.Name,
Amount = (from order in c.Orders
select order.Amount).Sum()
}).OrderBy(x => x.Amount);https://stackoverflow.com/questions/1900299
复制相似问题