我有一个由三个对象列表组成的联接,我将得到一个属性的值的总和,该属性在对象的列表根目录下是三级:
objectList1.CollateralList[0].COL_MOV[0].collValueField[0].Value
其中Value
是字符串,而CollateralList
,COL_MOV
和collValueField
是对象数组。
我尝试了这个解决方案:
var joinList = (from colPos in objectList1
join csa in objectList2 on new { X1 = colPos.Counterparty, X2 = colPos.CSDType, X3 = colPos.Name } equals new { X1 = csa.Customer, X2 = csa.Type, X3 = csa.Cod_CSA }
join anag in objectList3 on new { Y1 = csa.Customer } equals new { Y1 = anag.CustomerID }
select new
{ colPos.CollateralList.ToList().Sum(c=>c.COL_MOV.ToList().Sum(d=>d.CollValue.ToList().Sum(e=>Convert.ToDoubl(e.Value))))
}).ToList();
但是我收到了错误,
"无效的匿名类型成员声明符。匿名类型成员必须 声明成员作业,简单名称或成员访问。"
在sum指令上报告了问题。 有人可以帮帮我吗?