#ado.net #transactions
#ado.net #транзакции
Вопрос:
MSDN не определяет, что Dispose
следует делать для транзакций. Итак, я предполагаю, что ADO.NET драйверы не делают в нем ничего особенного (кроме очистки ресурсов)?
Было бы замечательно, если бы он вызывался, Rollback
если ни один из Commit
и Rollback
не вызывался ранее Dispose
.
Ответ №1:
Поведение (хотя это может быть официально не задокументировано) заключается в откате (), если успешный вызов Commit() не произошел до вызова Dispose() . Это можно проверить, разобрав систему .NET.Сборки данных.
Комментарии:
1. Я только что проверил исходный код npgsql. Он делает то же самое для своей реализации транзакции.