Eksport dużej ilości danych z bazy do pliku xml

0

Jak wyeksportowac dużą ilość danych z bazy. Chciałbym skorzystać z Linq to xml. Powiedzmy ze chce wyciagnąc z bazy 20000 rekordów i wpakować to do pliku xml który chce zapisac na dysku.
Czy lepiej pobrać sobie wszystkie wiersze do obiektu DataTable i iterować po nim i zapisywać, czy moze wystarczy mi jakaś kolekcja np List<MyRecord> po której sobie przejde i zapisze do xml? Który sposób jest lepszy? A może jeszcze jakiś inny?

1

Zrób to SQLem.

0

sqlem potrafie :) Chciałbym się nauczyć jak z poziomu C# to zrobić

0

według mnie, biorąc pod uwagę, że jest to JEDYNIE odczyta danych z bazy i zapis do XMLa, to przy takiej ilości danych (czy też większej) po pierwsze odpada coś takiego jak "załaduje WSZYSTKIE dane do listy i ją sobie zserializuje do XMLa" bo a) po co wszystko ładować do pamięci - zarówno lista jak i niezapisany XML gdzieś muszą być, b) dużo szybciej będzie to wprost zapisywać "ręcznie" do pliku. Ja bym postawił na "zwykły" DataReader (albo cokolwiek co zwraca dane sekwencyjnie) oraz na StreamWriter. Wiem, że takie podejście nie jest trendy i że jak komp ma 16GB RAM to co się tam przejmować paroma mega ale jednak.

0
goodfather napisał(a):

sqlem potrafie :) Chciałbym się nauczyć jak z poziomu C# to zrobić

Nie ucz się tak robić, bo tak nie powinno się robić.

1 użytkowników online, w tym zalogowanych: 0, gości: 1