Это может быть не совсем так, как если бы у вас было больше времени, это должно сработать так, как вы ожидаете. У вас есть область транзакции для одного контекста данных, и вся ваша работа выполняется в рамках этой транзакции. Он должен фиксироваться или откатываться так, как вы ожидаете.
Вы, вероятно, понимаете, что передача объекта контекста данных, вероятно, не самый эффективный способ совместного использования объекта контекста. Одна из возможных альтернатив - создать объект контекста, а затем использовать ThreadStaticObject, чтобы разделить его между методами. Мы делаем это довольно часто.