Являются ли транзакции нескольких таблиц в одном сеансе связи linq 2 sql datacontext транзакционными? - PullRequest
2 голосов
/ 14 февраля 2010

Я не могу получить ответ через Google об этом. Если я выполняю обновления для нескольких сущностей одновременно, присоединяю их все к контексту, вызываю метод Submit (), и одно из обновлений сущностей завершается неудачно, откатываются ли все изменения?

Например, в моем приложении asp.net есть заметка и таблица редакции заметки. В моем приложении asp.net при обновлении заметки я хочу сохранить текст новой заметки в таблице заметок и добавить новую запись в таблицу редакций заметки, чтобы показать, когда эта заметка была добавлена ​​и текст, который был добавлен (таким образом, пользователи можно посмотреть, что изменилось между ревизиями).

Я хочу быть уверен, что если я обновлю заметку, но редакция заметки не удастся (или наоборот), то все изменения будут отменены, чтобы данные не синхронизировались. Если для этого я использую только один текстовый текст, нужно ли мне специально вызывать область транзакции или она не нужна?

1 Ответ

1 голос
/ 14 февраля 2010

Да, они делают. Все операции в контексте вызова SubmitChanges () фиксируются или откатываются как единая единица работы.

Если вам необходимо выполнить несколько вызовов SubmitChanges () в контексте одной транзакции, используйте TransactionScope.

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