【发布时间】:2021-12-03 03:21:32
【问题描述】:
在我的项目中,我使用 Dynaic LINQ (https://dynamic-linq.net/) 从数据库中选择数据。这是我当前的选择代码:
List<dynamic> clientData = await clientDataset
.Select($"new({string.Join(",", requiredColumns)})")
.ToDynamicListAsync();
我需要扩展它。在客户端的后续步骤中,我必须向 clientData 对象添加其他属性。据我所知,这是不可能的。以下方法不起作用:
foreach (dynamic listEntry in clientData)
{
listEntry["MyAdditionalProp1"] = GetStringValue1();
listEntry["MyAdditionalProp2"] = GetStringValue2();
}
所以我想在 select 语句中将它们添加为假列,这也不起作用。
List<dynamic> clientData = await clientDataset
.Select($"new({string.Join(",", requiredColumns)},'' AS MyAdditionalProp1, '' AS MyAdditionalProp2)")
.ToDynamicListAsync();
附加属性的名称(MyAdditionalProp1、MyAdditionalProp1、...)在选择之前是已知的,但它们是动态的,因此我无法对它们进行硬编码。
如何将动态属性添加到我的列表中并像在 foreach 循环中一样修改它们的值?
【问题讨论】:
标签: c# linq dynamic dynamic-linq