linq to sql: мне нужно явно создать транзакцию? - PullRequest
0 голосов
/ 27 декабря 2011

Каждый раз, когда мне нужно выполнить более одного запроса на работе с помощью L2S, я явно создаю транзакцию с использованием TransactionScope.Сегодня мой коллега сказал мне, что он никогда не создавал транзакции вручную, потому что L2S делает это на уровне SubmitChanges.Я размышлял, поэтому я сделал несколько примеров кода для его проверки.Как я далеко понял результат, он был прав.У меня вопрос, был ли он доступен с начала linq to sql или это было добавлено в какую-то версию .net / пакет обновления?В сети есть много примеров того, как использовать TransactionScope с L2S, поэтому я не уверен, что каждый из этих людей мог его пропустить?

Ответы [ 2 ]

1 голос
/ 27 декабря 2011

Пока вы делаете все свои изменения и затем вызываете SubmitChanges() один раз, транзакция создается автоматически.

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

0 голосов
/ 27 декабря 2011

Явные TransactionScopes имеют значение, если вы хотите обернуть несколько запросов и несколько вызовов SaveChanges в одну транзакцию ... но если вы сохраняете граф объектов (который будет генерировать несколько операторов вставки / обновления в БД), все эти операторы будут автоматически включены в транзакцию при вызове SaveChanges.

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