2009-08-18 4 views
1

XML 파일을 SQLite 데이터베이스로 가져 오는 Windows 서비스를 작성하고 있습니다.SubSonic 2.x Batch Query SQLite

생성해야하는 이상한 레코드가 3,000 개 있고 프로젝트에 SubSonic 2.2를 사용하고 있습니다.

목록을 반복하여 하나씩 데이터베이스에 추가하는 대신 한 번에 하나 이상의 새 레코드를 일괄 처리 쿼리 할 수있는 방법이 있습니다.

3.x의 "BatchQuery"개체가 여기에 도움이 될 것이라고 알고 있지만 비슷한 작업을 수행 한 2.x에 뭔가가 있었으면합니다. 사전에

덕분에 더그

답변

5

음속 2.x에서 일괄 세이브 수행하는 방법을 가지고있다.

var itemsToSaveCollection = new ItemCollection(); // Your collection type here 

foreach (var xmlItem in xmlItems) 
{ 
    var item = new Item(); // Your data model type here 
    // Set item values from xml 
    itemsToSaveCollection.Add(item); 
} 

itemsToSaveCollection.BatchSave(); 
+0

이 하나의 데이터베이스 호출을 않습니다 여기

는 샘플입니다? – Doug

+0

실제로 하나의 데이터베이스 호출을 수행합니다. SubSonic [source]의 98 ~ 109 행을 확인하십시오. (http://www.koders.com/csharp/fidD7B3D21941459E52F4672CEBD784AA5A32F1E48D.aspx?s=datatable) – dcharles

+0

개념 증명을 위해 추악한 방법으로 작업 한 후 (완료하는 데 10 분이 걸렸습니다.) 완료하는 데 2 ​​초가 소요되었으므로 이것이 대단합니다. – Doug