When you make a change to the OpenAccess context, a transaction is started automatically. All subsequent changes (inserts, updates, deletes) are added to this transaction until it is closed either by the SaveChanges()
methods which respectively commit or rollback the transaction. If your scenario allows it, you can design your application in such way that there would always be a single change to the context which would be pushed to the database. For more information about the related features of our Context API
you can check the Handling Transactions
and Tracking Context Changes
articles in our documentation.
Due to those design decisions in the product, in order to achieve a more fine-grain change handling, it should be implemented above the OpenAccessContext, in a layer or a derived wrapper class that takes care for calling SaveChanges or FlushChanges for each change that is performed.
If possible, could you provide details for your scenario so that we may better advise you on the possible approaches?
I am looking forward to your feedback.
OpenAccess ORM Q3 2013 Beta is available for immediate download in your account. Get it now
and play with the latest bits. See what's new >>