매우 큰 데이터베이스 (수 기가 바이트)의 XML로 덤프하려고합니다. Linq-to-SQL을 사용하여 데이터베이스에서 데이터를 가져와 Linq에서 XML로 XML을 생성합니다. 나는 메모리 사용을 낮게 유지하기 위해 XStreamingElement
을 사용하고있다. 그러나 XML을 작성하지 않은 채로 키링을 수행하기 전에 작업은 여전히 사용 가능한 모든 메모리를 할당합니다. 구조는 다음과 같다 : 아무 소용이 ...Linq-to-XML 및 Linq-to-SQL을 사용하여 매우 큰 XML 파일 생성
foo.Save("contracts.xml", SaveOptions.DisableFormatting);
: 나는 또한으로 저장하려고했습니다
var foo =
new XStreamingElement("contracts",
<LinqtoSQL which fetches data>.Select(d =>
new XElement("contract",
... generate attributes etc...
using (StreamWriter sw = new StreamWriter("contracts.xml"))
{
using (XmlWriter xw = XmlWriter.Create(sw))
{
foo.WriteTo(xw);
}
}
.
실마리가 있습니까?
SQL로 직렬화하는 것은 어떻습니까? 그것은 크지 만 적어도 순차적으로 읽을 수는 있습니다 ... – Benjol