其中有更好的表现:实体框架事务:什么更好的性能?
using (GADEEntities context = new GADEEntities(_connectionString))
{
using (TransactionScope transaction = new TransactionScope())
{
AddToContext1(context);
AddToContext2(context);
AddToContext3(context);
...
context.SaveChanges();
transaction.Complete();
}
}
或
using (GADEEntities context = new GADEEntities(_connectionString))
{
using (TransactionScope transaction = new TransactionScope())
{
AddToContext1(context);
context.SaveChanges();
AddToContext2(context);
context.SaveChanges();
AddToContext3(context);
context.SaveChanges();
...
transaction.Complete();
}
}
在任何时候,这可能转化为5000+插入到数据库中一个客户机上。两种方式有什么不同?
什么你的测试说明了什么? – Oded 2011-04-28 18:53:11
@Oded:由于项目期限紧张,我很遗憾没有时间自己做任何官方测试。在运行调试器和客户端硬件时,由于VS开销而导致VS难以告知性能。所以我希望有人能给我一个快速的答案。我最初的想法与Nik的帖子一致。你有什么想法? – jonnyb 2011-04-28 19:05:38
只有想法,没有通过测试来备份......我会说所有的操作都是在EF内存中发生的,而真正的开销是网络IO在任何情况下都必须发生。微不足道的差异我会猜测。 – Oded 2011-04-28 19:08:18