Yes, all the updates should be made during an active transaction. What I can suggest you to make the process easier is using scope.TransactionProperties.AutomaticBegin = true
. When this option is enabled, a transaction is automatically started after Commit() or Rollback(). However, you will still have to call manually scope.Transaction.Commit()
to persist the changes.
You are right about the second question as well. If you have an object which is not 'attached' to an object scope, its changes could not be tracked and you will have to copy them manually to the actual object.
the Telerik team