LINQ to SQL Transaction.Complete vs DataContext.SubmitChanges - PullRequest
2 голосов
/ 27 января 2012

У меня есть следующая структура в программе:

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 () или только транзакция. Физически () их сохранит? Я имею в виду, я не хочу, чтобы промежуточные изменения, сделанные одним пользователем, были видны другим.

1 Ответ

3 голосов
/ 27 января 2012

SubmitChanges будет отправлять операторы DML. Commit совершит транзакцию. Пока транзакция не зафиксирована, другие читатели не увидят ваши изменения. Вы не рискуете сохранить частичные изменения или даже сделать их видимыми в течение определенного периода времени. Вы можете вызывать SubmitChanges несколько раз. Без явной транзакции SubmitChanges будет использовать ее внутренне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...