在过去的几天里,我一直试图找到一种迭代
这是我的做法:
List<dynamic>
的方法,但没有太大的成功。这是我的做法:
while (dr.Read())
{
dynamic e = new ExpandoObject();
var d = e as IDictionary<string, object>;
for (var i = 0; i < dr.FieldCount; i++)
d.Add(dr.GetName(i), DBNull.Value.Equals(dr[i]) ? null : dr[i]);
result.Add(e);
}
上述代码是一个返回 IEnumerable<dynamic>
的方法。在我的控制器中,我使用以下代码获取数据:
dynamic irionErrorsExport = oracleDbManager.GetStrCtrlNDGWithErrors(tableName, queryParamsList, periodo, "", "", "");
现在我陷入了困境,因为我需要迭代irionErrorsExport并创建一个"具体"的对象/来与EPPlus一起使用。
有人能告诉我这是否可能,并给出一个简单的示例吗?
GetStrCtrlDGWithErrors()
是您的方法,其中包含第一段代码吗? - sirideGetStrCtrlDGWithErrors
方法的签名。 - MarcinJuraszekIDictionary<string, object> e = new ExpandoObject()
,将d.*
更改为e.*
,然后在不进行中间转换的情况下执行result.Add(e)
。 - xanatos