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