Dapper y transacciones anidadas

.net dapper sql-server transactions transactionscope

Pregunta

¿Es posible especificar una transacción anidada como un parámetro IDbTransaction, cuando se utiliza un método Dapper?

Quiero comprometer una transacción interna a través de Dapper, con todos los bloqueos de datos y asociados que se lanzarán y estarán disponibles solo para la transacción externa, con todos los bloqueos externos todavía en su lugar antes de que se comprometa la transacción externa.

Consulte esto para obtener un ejemplo concreto: http://technet.microsoft.com/en-us/library/ms189336(v=sql.105).aspx

Estoy usando SQL Server 2008, si eso ayuda.

Respuesta aceptada

Dapper usa transacciones de ado.net. Además, dado que muchos proveedores de ado.net admiten transacciones ambientales (TransactionScope), esto generalmente es compatible, pero no requiere código adicional. Si puedes hacer lo que quieras con las transacciones de ado.net: bien. Si puede hacer lo que quiera con TSQL: bien, solo emita los comandos apropiados. Realmente todo se reduce a: ¿puedes hacer eso desde ado.net?

Por ejemplo, valdría la pena intentar un procedimiento almacenado con transacción explícita dentro de una conexión con BeginTransaction de la conexión.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué