Julia,
Tranasctions are like ice-cream
They come in many flavors, they are almost always fattening, and they are
kinda necessary ;-)
So the various flavors are
a) Implicit Tranasctions
b) Explicit Transactions in the API
c) Explicit Transactions in Stored procedures
d) System.Transactions - volatile
e) System.Transactions - pspe
f) System.Transactions - durable
g) Loosely coupled systems with home grown 2pc
... So which one do you pick? "The lowest one you can get away with".
There are certain very isolated incidents where explicit transactions may
actually outperform implicit transactions in a single user scenario, and
there are other nuances based on your exact design and requirements that
guide you to the final architectural choice. I would recommend reading up
Chapter 11 of my ADO.NET 2.0 book (see signature) where I talk about
transactions in depth.
- Sahil Malik [MVP]
ADO.NET 2.0 book -
http://codebetter.com/blogs/sahil.malik/archive/2005/05/13/63199.aspx