Linq2SQL: SubmitChanges покрыты транзакцией? - PullRequest
1 голос
/ 17 сентября 2009
MyDataContext context = new MyDataContext();

// do a lot of insert, deletes and updates

context.SubmitChanges(); 

Будет ли охватываться транзакция весь SQL, сгенерированный и выполненный SubmitChanged ()? Как мне убедиться, что она покрыта транзакцией?

Обновлен:

Причина, по которой я спрашиваю, что у меня странная ошибка, в которой я подозреваю, что транзакция не была использована.

Процедура составляет около 500 вставок и окончательное обновление одной записи. Иногда обновление (и, возможно, некоторые из вставки ...) не зарегистрированы в базе данных.

(транзакции SQL не отображаются в моих результатах отладки?)

Ответы [ 3 ]

4 голосов
/ 17 сентября 2009

это так, и все это откатится, если не получится

Как: отправить изменения в базу данных (LINQ to SQL)

3 голосов
/ 17 сентября 2009

Если вы хотите, чтобы все происходило внутри транзакции, используйте Объем транзакции

http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx

2 голосов
/ 17 сентября 2009

Явное создание TransactionScope необходимо только в том случае, если вы вызываете SubmitChanges несколько раз и хотите, чтобы все вызовы были включены в одну транзакцию.

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