Tengo un programa winform C# .net que se ejecuta con una base de datos SQL Server. Estoy usando LINQ-to-SQL. ¿Es posible deshacer la llamada a uno o más procedimientos almacenados dentro de una transacción dentro de mi programa usando LINQ-to-SQL?¿Retirar una llamada de procedimiento almacenado desde el interior de una transacción utilizando LINQ-to-SQL?
Inicialmente pensé que tendría sentido administrar la transacción dentro del procedimiento almacenado, pero si tuviera que deshacer más de una llamada a procedimiento almacenado como parte de una sola transacción, tendría que hacerlo en mi programa C#.
¿Alguien me puede indicar un fragmento de código sobre cómo hacer esto o dar una idea de una alternativa?
solo quiero aclarar un punto si no es obvio: "El método Complete confirma la transacción. Si se ha lanzado una excepción, complete no se llama y se retrotrae la transacción". (desde el primer enlace arriba) Por lo tanto, no busques un 'rollback()' y no tengas ninguna ruta de código que 'devuelva' sin Complete() –