Неважно, сохраняете ли вы один элемент или несколько элементов, использование TransactionScope
здесь избыточно.
Из документации для ObjectContext.SaveChanges
:
SaveChanges работает в транзакции.SaveChanges откатит эту транзакцию и выдаст исключение, если какой-либо из грязных объектов ObjectStateEntry не может быть сохранен.
Таким образом, в вашем примере вы наложены на TransactionScope
без дополнительной выгоды.
Теперь, если бы у вас было два отдельных ObjectContext
экземпляра с отдельными наборами данных, которые вы хотели бы гарантировать, что оба были сохранены, то вам абсолютно необходимо было бы TransactionScope
вокруг обоих вызовов ObjectContext.SaveChanges
.