1
在我的应用程序中,事务范围在那里,我正在做所有的复制操作到dc对象和finnally dc.submittchanges()将被执行。transactionscope锁定表
事务范围是否锁定了当前存在于dc中的表,这是否会导致死锁?
例如:
using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, TimeSpan.FromSeconds(30)))
{
using (var dc = new ProposalDataContext(_ConnectionString))
{
scope.Complete();
}
}
当scope.complete()被调用时,那么只有表将被提交?。直到那个时候,无论DataLoadOptions加载的表将被锁定正确吗? – Naruto
另外还有一件事,当我们使用DataLoadOptions加载表时,它是否会将表复制到c#内存?如果是的话,为什么另一个事务必须等待范围的完成?一切都将在c#内存中 – Naruto
@LLL - 当范围.Complete()被调用,它表示块内的操作已完成,并且事务已准备好提交。在此之前表格将被锁定,是的。 –