Я пытаюсь реорганизовать какой-то медленно работающий код, который записывает XML с использованием вложенных циклов из нескольких таблиц данных. Я читал, что использование linq для записи xml будет быстрее. Я плохо разбираюсь в linq, поэтому надеялся получить здесь некоторую помощь.
Некоторые вещи, которые мне нужно упомянуть, это то, что текущая архитектура использует веб-сервис, который возвращает нам данные в таблицах данных. Затем мы просматриваем таблицы данных (итеративно), и некоторые из них приводят к нескольким вложенным циклам.
пример:
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
}
}
}
Как вы можете видеть по очевидным причинам, это очень медленно. Есть ли способ ускорить это с помощью linq? Что бы вы, ребята, посоветовали как более эффективный подход к рефакторингу? Прошу прощения, если детали нечеткие ...
Я ценю любую помощь, которую может предложить.