Лучший способ записать таблицы данных из веб-службы в XML?

Я пытаюсь реорганизовать какой-то медленно работающий код, который записывает 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? Что бы вы, ребята, посоветовали как более эффективный подход к рефакторингу? Прошу прощения, если детали нечеткие ...

Я ценю любую помощь, которую может предложить.

6
задан Aaron 16 January 2013 в 20:44
поделиться