2010-07-20 14 views
7

Więc to, co robię, to użycie dokumentu xml do określenia kolejności, w której niektóre skrypty SQL muszą być uruchamiane przez aktualizację bazy danych.Czy zamówienie pozycji jest odczytywane z XDocumentu, przez LINQ, gwarantowane?

XML Wynika z tego formatu

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

Więc klasy, który wykonuje wszystkie sql plików w bazie danych wygląda na to na przemian to połączenie i wykonuje pliki z folderów, w zależności od tego, co plik konfiguracyjny powiedział to do zrobienia.

Teraz moje pytanie jest takie:

Powiedzmy, że mam dokument, który ma 4 Database węzłów, a każdy z nich ma n liczbę Folder węzłów wewnątrz z asortymentem file węzłów wewnątrz tego.

Czy to logiczne mnie przyjąć, że jeśli wewnątrz For Each pętli nad Database węzłów że pobraniu do XElement wykorzystaniem database.Elements("Database") że będą one ciągnięte w kolejności, w jakiej pojawiają się one w pliku xml? (to samo dla węzłów plików)

O ile byłem w stanie powiedzieć, że tak jest, ale chciałem tylko sprawdzić, zanim zacznę korzystać z tego w produkcyjnych bazach danych.

Odpowiedz

9

Tak, Elements zwraca elementy w porządku dokumentu. Od the docs w „wartości zwracanej”:

IEnumerable<T> od XElement zawierającej dzieci z XContainer które mają dopasowanie XName, w kolejności dokumentu.

+0

Czy masz 'Ktoś zadał pytanie dotyczące LINQ' sensie? – msarchet

Powiązane problemy