我有以下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