我正在运行一些复杂的程序,试图减少某些交易所需的时间,因为它们似乎已经超时,但我不确定做出以下更改的影响。
假设我正在使用...
var scope = new TransactionScope(
TransactionScopeOption.Required,
DefaultTransactionOptions,
TransactionScopeAsyncFlowOption.Enabled
);
Sample 1:
using (scope)
{
// get stuff from multiple db's
// make a bunch of changes to entities
Db1.Savechanges();
Db2.Savechanges();
scope.Complete();
}
示例2:
// get stuff from multiple db's
// make a bunch of changes to entities
using (scope)
{
Db1.Savechanges();
Db2.Savechanges();
scope.Complete();
}
这两个东西会做同样的事情吗?
我的直觉告诉我它们应该可以,但是如果我不执行所有CPU绑定的操作并保持对我关心的位(数据连续性)的事务,则可能能够减少超时。