1
我有以下數據結構(只是一個示例性的視覺表示)的陣列:循環嵌套選擇LINQ
list<customer>
{
customer
{
name
orders[]
{
order
{
quantity
product
{
price
}
}
order
{
...
}
order
{
...
}
}
customer
{
...
}
customer
{
...
}
}
我想要獲得每個客戶的名字和他的訂單的總和(數量*產品價格)。現在,我有以下幾點:
var sumEachCust = from c in customers
let sum = 0.0m
select new
{
c.Name,
sum =+ (from o in c.Orders
select o.Product.Price * o.Quantity).FirstOrDefault()
};
如果Customer
對象在其Orders[]
多個Order
條目,那麼我想裏面的所有帳目的總和。但是通過這個查詢,我得到了第一個訂單的總和。
如果我做這樣說:
然後我會得到的名字多次有在Customer
對象的Orders[]
產權制度的實體,我不希望出現這種情況。
簡單地說 - 僅僅是所有訂單的名稱和總和。
作品,是一個非常乾淨和簡單的解決方案!非常感謝!然而,你能否給我一個在查詢中使用'let'和臨時變量的例子,因爲我正在這樣做,並希望看到在這種情況下如何正確使用嵌套'select'語句? – Milkncookiez 2014-09-29 09:20:27
@Milkncookiez看到更新,雖然你真的不需要在這裏使用'let'。 – James 2014-09-29 09:28:43
對不起,我想問一個帶有「嵌套select」的例子,因爲例如,如果我必須將所有客戶的訂單彙總爲一個總額(而不是分別總結每個客戶的訂單),那麼如何我會那樣做嗎? (鑑於我不完全確定如何使用嵌套查詢的迭代邏輯)。 – Milkncookiez 2014-09-29 12:36:11