好吧,我有一個3列的列表視圖控件:Linq到SQL,聚合列,按日期分組到列表視圖
年| NetTotal | GrossTotal
還我有一個表稱爲訂單幾列,它們包含訂單的相關信息,並存儲它們屬於客戶的ID。
的問題是:如何可以查詢該表與(優選地)LINQ(DataContext的是從LinqToSql)返回以下數據?
我想搜索與匹配的客戶ID中的任何條目,其發生的情況,他們年組,分別總結了彙總,並將它們添加到ListView?
我現在我可以使用LAMDA表達式和聚合,它只是不清楚如何(選項推斷上,DB是一個DataContext對象,客戶ID是一個Int32變量):
Dim Orders = (From order In db.Orders Where order.CustomerID = CustomerID).GroupBy(Function(p) p.Date.Year).GetEnumerator
我想我不得不創建一個匿名類型如下所示:
Dim tmpYears = From prevs In db.Orders Select New With {.CustID = prevs.CustomerID, .Year = prevs.PaymentDate.Year, .NetPurchase, .GrossPurchase}
但是我怎麼聚集了一批在購買列?
Dim CustomerOrders = From ord In db.Orders Where Ord.CustomerID = custID Select ord
Dim tot = From O in CustomerOrders Select Aggregate netTot In O Into Sum(netTot.Price * netTot.Quantity * 1+ (netTot.Discount/100))
我想合併兩者。
有什麼建議嗎? (我讀過this但我想它在LINQ的,因爲它是一個團隊項目,我們同意使用LINQ,而不是發送.ExecuteQuerys並等至db.Also它的一個LinqToSQL解決方案,這樣會更好,如果我可以做一些使用它)
我留下深刻的印象,謝謝,另外:我喜歡線上;) – Qqbt
我也是一個很大的粉絲,即使知道單行是(或可能是)壞消息。你的問題的訣竅是'GroupBy'上的重載,但你現在可能已經發現了。我使用的是具有'resultSelector'的重載,我發現它是所有選項中我最喜歡的內容之一。 :-) – Smudge202
你是對的,這是最好的部分(與大多數linq查詢一樣),結果是可枚舉的....生活在IT領域很棒......有時候:)感謝您的出色答案 – Qqbt