我在這裏使用.SELECT
聲明掙扎。。使用lambda和Entity Framework的SELECT語句
這裏是我的代碼片段;
var payoutsPerLocation = locations.Select(l => l.Payouts);
foreach (var payouts in payoutsPerLocation)
{
Console.WriteLine(payouts.Sum(pos=>pos.Amount));
}
凡位置是一個列表,一個地方有一個或多個支付。我想獲得所有支出。
上面的代碼的結果低於
0
0
0
0
0
0
它應該是每個位置付款的量的總和。看起來我沒有得到任何支出記錄。但是,當我嘗試使用下面的代碼(測試如果我得到支付);
var payoutsPerLocation = locations.FirstOrDefault().Payouts;
foreach (var payout in payoutsPerLocation)
{
Console.WriteLine(payout.Amout);
}
該地點有支出。你們認爲我在這裏做錯了什麼?
任何幫助表示讚賞。
該代碼看起來很好,所以別的是這個問題。你確定'金額'不是0嗎?如果你在沒有LINQ的情況下編寫代碼,它會工作嗎? – Gabe
Hi @Gabe,我確定'金額'不是零。當我使用'FirstOrDefault'時,我得到正確的記錄。 – janmallari
請包括「位置」的類定義。我懷疑'Location.Payouts'不是虛擬的。 – Aron