我想知道为什么使用 POCO 和 Devart DotConnect for Oracle 的代码片段 1 比代码 2 快。
我尝试了超过 100000 条记录,代码 1 比 2 快得多。为什么?我认为“SaveChanges”会清除缓冲区,使其更快,因为只有 1 个连接。我错了吗?
代码 1:
for (var i = 0; i < 100000; i++)
{
using (var ctx = new MyDbContext())
{
MyObj obj = new MyObj();
obj.Id = i;
obj.Name = "Foo " + i;
ctx.MyObjects.Add(obj);
ctx.SaveChanges();
}
}
代码 2:
using (var ctx = new MyDbContext())
{
for (var i = 0; i < 100000; i++)
{
MyObj obj = new MyObj();
obj.Id = i;
obj.Name = "Foo " + i;
ctx.MyObjects.Add(obj);
ctx.SaveChanges();
}
}