2015-05-06 3 views
3

Я работаю над старым проектом с почти несуществующими транзакциями, что приводит к большому количеству частичных коммитов в случае ошибки. SQL-вызовы представляют собой сочетание необработанных ADO, Linq с Entities и EntityFramework, и я бы хотел, чтобы они выполнялись в транзакциях.Проверка безопасности TransactionScope

Чтобы решить эту проблему, я просматриваю маршрут TransactionScope. Может ли кто-нибудь сказать мне, можно ли сделать какой-то контроль, чтобы определить в методе, если он запускается из TransactionScope? Либо использовать атрибут, либо какую-либо проверку самого объекта TransactionScope. Конечной целью является бросить какое-то значимое исключение и отследить области, в которых отсутствуют транзакции.

Благодаря

ответ

0

Если ваш код работает внутри TransactionScope блока, затем Transaction.Current != null. Вам нужно будет добавить использование для System.Transactions и ссылку на System.Transactions.dll.

+0

Надеюсь избежать дополнительной ссылки, но это работает для меня :) –