Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
LINQ to SQL admite tres modelos de transacción distintos. A continuación se enumeran estos modelos en el orden de las comprobaciones realizadas.
Transacción local explícita
Cuando se llama a SubmitChanges, si la propiedad Transaction está establecida como una transacción (IDbTransaction), la llamada SubmitChanges se ejecuta en el contexto de la misma transacción.
Es su responsabilidad confirmar o revertir la transacción después de la ejecución correcta de la transacción. La conexión correspondiente a la transacción debe coincidir con la conexión utilizada para construir el DataContext. Se produce una excepción si se usa una conexión diferente.
Transacción distribuible explícita
Puede llamar a las API de LINQ to SQL (incluidas, entre otras, SubmitChanges) en el ámbito de un objeto Transaction activo. LINQ to SQL detecta que la llamada está en el ámbito de una transacción y no crea una nueva transacción. LINQ to SQL también evita cerrar la conexión en este caso. Puede ejecutar consultas y el método SubmitChanges en el contexto de este tipo de transacción.
Transacción implícita
Cuando se llama a SubmitChanges, LINQ to SQL comprueba si la llamada está en el ámbito de un Transaction o si la propiedad Transaction (IDbTransaction) está configurada para una transacción local iniciada por el usuario. Si no encuentra ninguna transacción, LINQ to SQL inicia una transacción local (IDbTransaction) y la usa para ejecutar los comandos SQL generados. Cuando todos los comandos SQL se hayan completado correctamente, LINQ to SQL confirma la transacción local y devuelve.