Замена TransactionScope
От: merge  
Дата: 27.01.23 06:53
Оценка:
Привет.

У нас есть кусок кода который обернут в TransactionScope.
Сначала вызывается скл процедура, а потом через энтити контекст вставляются данные.
Всё происходит в рамках одного коннект к базе! То есть второй коннекшн не открывается в моем понимании, что эскалация до распределенной транзакции была.
Всё вроде норм, но почему-то иногда выкидывается ошибка "this platform doesn't support distributed transactions"
Причем данные не меняются, просто разница во времени. Посмотрел по профайлеру и вижу что происходит событие Transaction promote до распределенной транзакции.

В общем потратил дня 3 в попытках понять и пока склоняюсь что скл по какой-то причине эскалирует. Может из-за временных таблиц в процедуре и там какие то кэши или ресурсов на сервере не хватает и новый коннект.

Сейчас хочу заменить TransactionScope на механизм который гарантирует транзакционность.
Есть какие-то механизмы или решения?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.