Todo dependerá de la BD que uses y de tu metodología. Si vas a conectarte a través de COM (una aplicación COM+) o a una BD que se integre bien en este servicios de transacciones (como SQL Server) el objeto ObjectContext va bastante bien.
Otra forma es usar los métodos del objeto Connection para transacciones (BeginTrans, CommitTran, RollbackTrans) Tambien depende de si la BD acepta correctamente las peticiones de transacción que el objeto le envia. Otro problema es su consumo de memoria en el servidor (archivos, temporales, etc).
Por último, está como hayas desarrollado la BD (si tiene triggers, procedimientos, etc) Cuanto mejor esté desarrollado esta parte, menos jaleo entre IIS y la BD
Todo dependerá de la cantidad de ataques que precises contra la BD.
Un saludo