Hello Michal,
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.
Sincerely yours,
Alexander
the Telerik team