在使用基于XML的数据库时,我可以一次写多个记录以防止过多的磁盘写入吗?我不想直接使用XML文件(不阻止SQL迁移 - 我将来可能会切换到SQL)。
我想在作业队列中添加5000多条记录 - 稍后在短时间内更新/删除它们 - 当作业完成时 - 。
当队列正在处理时,我将记录列表保存在内存中,最后我需要将它们写回来。
如果断电,应该再次处理所有已完成的作业,这是骗局,但非常罕见,因为服务器由UPS备份。
答案 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);
}