我有客户List<Customer> customers = new List<Customer>();
列表这种格式Linq查询计算对象属性的总和
class Customer {
public string Name;
public string City;
public Order[] Orders;
}
class Order {
public int Quantity;
public Product Product;
}
class Product {
public string Name;
public decimal Price;
}
每一个客户都被实例化这样的:
Customer customer3 = new Customer {
Name = "Kostas",
City = "Athens",
Orders = new Order[] {
new Order {Quantity = 1, Product = new Product {Name = "Juice", Price = 20 } },
},
};
我想写一个LINQ查询打印出客户的名字和所有订单的总金额。
到目前为止,经过很多次尝试之后,我所做的最接近的事情就是这样,但它并不像预期的那样工作。
var query= from c in customers
from p in c.Orders
let summary = p.Product.Price * p.Quantity
select new {c.Name, summary };
谢谢非常,像魅力一样工作。你能不能写出类似SQL的版本,用于教育目的 – Manos
@John不在这个问题的范围之内,为了避免混淆这个答案,最好是你问另一个问题。确保显示您的相关数据库模式。我会说你将需要使用'内部连接','分组依靠'和'sum'。 –