我需要在数据库中保存数千条记录。我正在使用CastleProject ActiveRecord。存储该对象数量的循环工作时间过长。
是否可以使用ActiveRecord批量运行保存?什么是提高性能的推荐方法?
答案 0 :(得分:1)
我似乎找到了解决方案。主要有两个步骤:
using (TransactionScope scope = new TransactionScope())
{
for (int i = 0; i < 100; i++)
{
Contact contact = new Contact();
contact.Save();
}
}
答案 1 :(得分:0)
ActiveRecord(和大多数ORM)不适合批处理操作。随着ORM中的所有变更跟踪进行,它可能会让您失望。
为了获得最佳性能,我会选择直接ADO.NET或某种SQL批量导入。
答案 2 :(得分:0)