0

我有这两个清单

var amountList = (from i in outstandingsList
                  join f in accountablesList
                       on i.Contract equals f.Contract
                  select f.Amount).ToList();

var commonContractsList = (from i in outstandingsList
                           join f in accountablesDdrsList
                                on i.Contract equals f.Contract
                           select i).ToList();

List amountlist 获取accountablesList和outstandingsList中所有普通合约的accountablesList金额。

List commonContractsList 获取outstandingsList 和accountablesDdrsList 中的所有共同合约。

我想要的是更新 commonContractsList 中的金额,其中以合同为键的金额列表中的所有金额。

我试图做一个 foreach,但我似乎无法正确执行操作的顺序。

有任何想法吗?提前谢谢。瑞马丁斯

4

1 回答 1

0

请看下面的代码..您可以在第一个 Linq 查询中添加 f.Contract,然后在循环中使用那个来搜索其他实体以获取值,然后分配值..

var amountList =(
                 from i in outstandingsList
                 join f in accountablesList
                    on i.Contract equals f.Contract
                 select f.Amount,f.Contract).ToList();  

var commonContractsList = (from i in outstandingsList
                           join f in accountablesDdrsList
                             on i.Contract equals f.Contract
                           select i).ToList();

foreach(var contract in commonContractsList)
{
   var amount=amountList.Where(o=>o.Contract==contract.Contract).Select(o=>o.Amount);
   contract.Amount=amount;
}
于 2012-08-14T11:44:28.607 回答