好吧,我有一个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