0

到目前为止,我有一个简单的 LINQ 查询,它使用 XML 文件来构建字典或 customerid 和 order:

var Limit = from c in xml.Descendants("Customer") select new { customerID = c.Descendants("customerid").First().Value, order = c.Descendants("order").First().Value ,

                          };

我需要返回不同的客户 ID 以及每个客户 ID 的“订单”总数。例如我有:

客户 ID = 123 订单 = 200

客户 ID = 123 订单 = 100

客户 ID = 123 订单 = 50

客户 ID = 456 订单 = 100

客户 ID = 456 订单 = 100

我需要:

客户 ID = 123 OrderTotal = 350

客户 ID = 456 订单总计 = 200

我知道那里有很多类似的问题,但我对 LINQ 还是很陌生。

谢谢

4

1 回答 1

0

如果没有看到确切的 XML 输入结构,很难编写代码,但请尝试以下几行:

var query = from cust in xml.Descendants("Customer")
            group cust by (int)cust.Element("customerid") into g
            select new {
              customerID = g.Key,
              total = g.Elements("order").Sum(el => (decimal)el)
            }

[编辑] 使用您想要的评论中提到的示例

var query = from cust in xml.Descendants("Customer")
            group cust by (int)cust.Element("customerid") into g
            select new {
              customerID = g.Key,
              total = g.Elements("ordertotal").Sum(el => (decimal)el)
            }
于 2013-02-12T10:37:34.107 回答