Очевидно (поскольку в документации не сказано ни слова об этом), в транзакции .NET (с использованием TransactionScope) откаты выполняются в том же порядке, что и коммиты, и в том же порядке, что и регистрации были сделаны.
По логике, откат должен быть в обратном порядке:
Если последовательность действий «do A», затем «do B», моя последовательность отката должна быть «отменить B», затем «отменить A». Но благодаря TransactionScope это не так, это всегда «отменить A», а затем «отменить B».
Я пропустил вариант или умру с этим странным порядком? :)