2012-07-03 155 views
-1
public class Order 
{ 
    public int Id; 
    public string CustomerName; 
    public DateTime OrderDate; 
    public List<OrderLine> Lines; 
} 

public class OrderLine 
{ 
    public decimal Quantity; 
    public decimal UnitPrice; 
    public Product Product; 
} 

public class Product 
{ 
    public int Id; 
    public string Name; 
    public decimal DefaultUnitPrice; 
} 

我越來越困惑,因爲如何做這個查詢,我試圖顯示CustomerName升序,取決於訂單的總數。 在此先感謝。LINQ/C#子查詢

+0

'客戶名稱升序根據總的Orders'的那是什麼? –

+0

Alsom你是什麼意思*取決於訂單總數*?兩個排序屬性,CustomerName和count(Orders)? –

+0

貨幣總訂單金額,訂單總數? – JDB

回答

2
(from o in orders 
    select new { 
    o.CustomerName, 
    Total = o.Lines.Sum(x=>x.UnitPrice*x.Quantity)} 
    ).OrderBy(x=>x.CustomerName).ThenBy(x=>x.Total);; 

編輯:固定的總和

+0

除了你可能想要乘以單位價格的數量。 (取決於OP實際上試圖得到什麼。) – JDB

2

如何

order.OrderBy(x => x.Lines.Sum(q => q.Quantity * q.UnitPrice));