Порядок пунктов читается из XDocument, LINQ, Гарантируемым?

Таким образом, то, что я делаю, использует xml документ для определения порядка, в котором определенные сценарии SQL должны быть, работал обновлением базы данных.

XML следует за этим форматом

<ScriptRules>
    <Database databaseName = “string”>
        <Folder folderPath = “string” executeAllFiles = boolean>
            <file order=”first or last”>“Filename”</file>
        </Folder>
    </Database>
</ScriptRules>

Так класс, который выполняет весь из sql файлы на базе данных смотрят на это в изменениях, это - соединение и выполняет файлы от папок в зависимости от того, что файл конфигурации сказал этому делать.

Теперь мой вопрос - это:

Скажем, то, что у меня есть Документ, который имеет 4 Database узлы и каждый из них имеют n количество Folder узлы внутри с выбором file узлы в этом.

Действительно ли логично из меня предположить что если в a For Each цикл по Database узлы, которые я получил в a XElement использование database.Elements("Database") то, что их вытянут в порядке, что они появляются в XML-файле? (то же для узлов файла)

Насколько я смог сказать дело обстоит так, но я просто хотел проверить, прежде чем я начну использовать это на производственных базах данных.

7
задан msarchet 20 July 2010 в 14:27
поделиться

2 ответа

Да, Elements возвращает элементы в порядке документа. Из документации, в "возвращаемом значении":

An IEnumerable of XElement , содержащий дочерние элементы XContainer, которые имеют совпадающее XName, в порядке документов.

9
ответ дан 6 December 2019 в 21:09
поделиться

Да, если вы не используете PLINQ, и даже тогда вы можете попросить его предоставить вам элементы по порядку.

 var orderedCities = (from city in cities.AsParallel().AsOrdered()
                                 where city.Population > 10000
                                 select city)
                                .Take(1000);

http://msdn.microsoft.com/en-us/library/dd460677.aspx

3
ответ дан 6 December 2019 в 21:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: