从select linq查询赋值,不更新列表
本文关键字:更新 列表 赋值 select linq 查询 | 更新日期: 2023-09-27 18:08:15
查询如下:-
labRequestItem.LabTest.Select(p=>p.LabTestICDCodes= labRequests.ICDCodes.Select(t => new ICDCodeList()
{
ICDCodeId = t.ICDCodeId,
ICDCode = t.ICDCodeName,
ICDDescription = t.ICDDescription,
ICDCodeType = t.ICDCodeType
}).ToArray());
现在的问题是LabTestICDCodes没有使用从选择语句
我已经在Linqpad
中进行了测试,以下内容应该有效,但请注意:
finalResult
将是具有新值/修改值的type of LabTestICDCodes
(其本身也是IEnumerable
(的List
,因为这是唯一投影的列。您必须投影您想要的整个对象,因此,值将按预期修改var finalResult = labRequestItem.LabTest.Select(p=>p.LabTestICDCodes= labRequests.ICDCodes.Select(t => new ICDCodeList() { ICDCodeId = t.ICDCodeId, ICDCode = t.ICDCodeName, ICDDescription = t.ICDDescription, ICDCodeType = t.ICDCodeType }).ToArray()).ToList();
我找到了解决这个问题的唯一方法,通过做以下步骤:-
1.获取本地变量中的值
var icdList = labRequests.ICDCodes.Select(t => new ICDCodeList()
{
ICDCodeId = t.ICDCodeId,
ICDCode = t.ICDCodeName,
ICDDescription = t.ICDDescription,
ICDCodeType = t.ICDCodeType
}).ToArray();
- 现在通过usinf-foreach循环分配值
foreach (var test in labRequestItem.LabTest)
{
test.LabTestICDCodes = icdList;
}
在最后一步中,我必须使用foreach循环,如果有其他解决方案,那么请回复,否则我将使用与上面提到的相同的内容。