Подтвердить что ты не робот

LINQ to SQL - правда ли, что SubmitChanges() автоматически запускает транзакцию?

Мне нужно использовать транзакции с LINQ to SQL, и я читал их, чтобы ознакомиться с ним.

Правда ли, что SubmitChanges уже совершена транзакция?

4b9b3361

Ответ 1

Когда вы вызываете SubmitChanges, LINQ to SQL проверяет набор известных объектов, чтобы определить, к ним привязаны новые экземпляры. Если они есть, эти новые экземпляры добавляются в набор отслеживаемых объектов.

Непосредственно перед любыми фактическими изменениями, LINQ to SQL запускает транзакцию для инкапсуляции серии отдельных команд.

Изменения объектов переводится один за другим в команды SQL и отправляются на сервер.

В этот момент любые ошибки, обнаруженные в базе данных, приводят к остановке процесса отправки, и возникает исключение. Все изменения в базе данных откатываются назад, как если бы никаких материалов никогда не происходило.

Для получения дополнительной информации об этом представлении статьи MSDN.

Надеюсь, это поможет!