我在程序中有以下结构:
Using transaction As New TransactionScope()
'Make some changes to the data
...
db.SubmitChanges()
'Make some other changes to the data
...
db.SubmitChanges()
transaction.Complete()
End Using
当调用每个SubmitChanges()时,更改是否实际保存到数据库中,或者只有transaction.Complete()将物理保存它们?我的意思是我不希望1个用户做出的中间更改对其他人可见。
答案 0 :(得分:3)
SubmitChanges将发送DML语句。 Commit将提交事务。虽然交易未提交,但其他读者不会看到您的更改。您没有保存部分更改甚至在一段时间内使其可见的风险。您可以多次调用SubmitChanges。没有明确的交易,SubmitChanges将在内部使用。