如何在XML文件中一次写入多条记录?

时间:2015-11-24 12:29:52

标签: c# xml linq-to-xml c1-cms

在使用基于XML的数据库时,我可以一次写多个记录以防止过多的磁盘写入吗?我不想直接使用XML文件(不阻止SQL迁移 - 我将来可能会切换到SQL)。

我想在作业队列中添加5000多条记录 - 稍后在短时间内更新/删除它们 - 当作业完成时 - 。

当队列正在处理时,我将记录列表保存在内存中,最后我需要将它们写回来。

如果断电,应该再次处理所有已完成的作业,这是骗局,但非常罕见,因为服务器由UPS备份。

1 个答案:

答案 0 :(得分:1)

DataConnection类支持重载,以同时添加,删除或更新多个记录。

using(var conn = new DataConnection()) {
  var toBeUpdated = new List<MyDataType>();
  var toBeDeleted = new List<MyDataType>();

 var dataset = conn.Get<MyDataType>().ToList();
 for(var data in dataset) {
   if(...) {
    .....
    toBeUpdated.Add(data);
   }
 }
 .....
 .....

 conn.Update(toBeUpdated);
 conn.Delete(toBeDeleted);
}