Я много искал о «Откат транзакциях». Я нашел TransactionScope()
, который был представлен Entity Framework 5 и Database.BeginTransaction()
, который имеет функции commit и rollback, внедренные Entity Framework 6. Таким образом, возможен откат по базе данных (контекст).Могу ли я вернуть изменения в простой блок кода C# (а не контекст базы данных)?
Я хочу знать, можно ли отменить изменения в простом коде C#
. (Сделайте часть кода транзакцией) Например, в блоке кода я добавляю элементы в список или изменяю значение переменной. Затем возникает исключение, можно ли отменять (отменять) изменения? Так что мой List
становится пустым, а переменная получает свое первое значение?
Очевидно, что вы можете вручную отменить изменения в блоке 'catch' ... Вы ищете хороший способ написать такой код или реализацию Undo/Redo OR или другую транзакционную поддержку? –
Спасибо за ваш комментарий. На самом деле, я ищу транзакционную поддержку в коде C#. – butterfly
Нет (комментарий, как правило, это не ответ): у C# нет никаких конструкций, которые напрямую поддерживают транзакции. .Net Framework поддерживают транзакцию для БД (как вы уже упоминали), но не намного больше. ([Распределенные транзакции] (http://www.bing.com/search?q=c%23+distributed+transaction) требуется еще больше кода для написания ... –