我有以下Linq查詢。 transactionData是一個IEnumerable。在linq查詢中的商品上放置訂單號
var totalTransactions = 0;
viewModel.GroupedTransactions = transactionData
.GroupBy(x => new { DocumentId = x.DocumentId ?? "Un Documented" })
.Select(x => new GroupedTransaction
{
DocumentId = x.Key.DocumentId,
Transactions = x.Select(y => new Transaction
{
Amount = y.CommitAmount,
ActivityType = y.ActivityType,
Number = totalTransactions++
})
})
.OrderBy(x => x.DocumentId);
其中我試圖將交易記錄上的數字設置爲遞增的數字。 這不起作用,在數字中留下空白。
我也在查詢後試過以下內容。
foreach (var item in viewModel.GroupedTransactions.SelectMany(x => x.Transactions))
{
item.Number = totalTransactions;
totalTransactions++;
}
這甚至沒有更新數值。 我做錯了什麼,或者有一個簡單的方法,用一個整潔的linq擴展方法?
哦,我的,你在一個LINQ'Select'中的對象初始化器中增加一個變量! – 2011-03-16 01:35:47