use*_*jaz 6 .net c# xml linq datatable
我正在尝试重构一些运行缓慢的代码,这些代码使用几个数据表的嵌套循环来编写XML.我读到使用linq编写xml会更快.我对linq并不精通,所以我希望能在这里得到一些帮助.
我需要提到的一些事情是当前架构使用webservice,它在dataTables中向我们返回数据.然后我们遍历数据表(迭代地),并且有几个导致几个嵌套循环.
例:
dt1 = Webservice.getStuff();
for each (datarow r1 in dt1.Rows) {
dt2 = Webservice.getMoreStuff(r1[col1], r1[col2]);
// write out some xml
for each (datarow r2 in dt2.Rows) {
dt3 = Webservice.getEvenMoreStuff(r2[col1], r2[col2]);
// write out more xml
for each (datarow r3 in dt3.Rows) {
// write out more xml
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,显而易见的原因,这非常缓慢.有没有办法加速使用linq?你们有什么建议作为一种更有效的方法来重构这个?如果细节含糊不清,我很抱歉......
我感谢任何人提供的任何帮助.
Jus*_*ner 14
在这种情况下,编写XML并不会减慢你的速度.与进行所有Web服务调用所花费的时间相比,该速度应该可以忽略不计.
我不会专注于编写XML,而是试图弄清楚如何压缩Web服务调用的数量,以便您可以一次获取所有数据,而不是像这样进行嵌套调用.