...
transactional
transactional
...
context.BeginTransaction();
i = 4;
s = "another text";
context.RollbackTransaction();
Значения i и s автоматически возвращаются к значениям, присвоенным до начала транзакции. Лови сказал, что рассказал об этом Андерсу Хейлсбергу, и тот всерьез заинтересован встроить нечто подобное в C#.