LINQ to SQL Transaction.Complete vs DataContext.SubmitChanges

时间:2012-01-27 11:52:32

标签: .net linq linq-to-sql transactions

我在程序中有以下结构:

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个用户做出的中间更改对其他人可见。

1 个答案:

答案 0 :(得分:3)

SubmitChanges将发送DML语句。 Commit将提交事务。虽然交易未提交,但其他读者不会看到您的更改。您没有保存部分更改甚至在一段时间内使其可见的风险。您可以多次调用SubmitChanges。没有明确的交易,SubmitChanges将在内部使用。