I have a filter in my API that handles transactions automatically. It starts a transaction on any POST, DELETE, PUT, request. At the end of the request it commits it if no errors, otherwise rolls back.
So any of the extension methods that I use, whether it's a .Get(), .First(), or an .Insert() or .Update() it throws an error saying that a transaction is required.