You are right, the previously provided GetMyScope can not work with custom transactions since it was bound to the existing context. In order to work with custom transactions, the GetMyScope method must look like this.
Here you will get a completely isolated object scope which has nothing to do with the context you used to create the object scope.
Revisiting your initial question. You said you want to commit if 80% of your inserts or deletes were successful. You can try to achieve this by flushing chunks of your data to the database and if you have no failure up to a certain point (80%), you can commit that data to the database.
In case of a failure, in order to get the information about the object that failed, you can either enhance the log level to see more details, or examine the exception which will tell you about the failed object.
Do not hesitate to contact us again in case you have any other issue.
Check out the latest announcement
about Telerik Data Access vNext as a powerful framework
able to solve core development problems.