♥ 0 | Pretendo garantir a criação de dois Documentos dentro do mesmo pedido á WebAPI atraves do controlo de transações. Acontece que ao executar o primeiro Atualiza para gravar o primeiro Documento, obtenho o erro: “SqlConnection does not support parallel transactions.” try { ProductContext.Plataforma.IniciaTransaccao();
ProductContext.MotorLE.Compras.Documentos.Actualiza(…)
ProductContext.MotorLE.Vendas.Documentos.Actualiza(…)
ProductContext.Plataforma.TerminaTransaccao(); } catch() { ProductContext.Plataforma.DesfazTransaccao(); } Marked as spam |
Private answer Bom dia Isso acontece porque o Metodo Actualiza também é executado numa Transaction e nesse sentido, está a ser criada uma nova transação, quando a anterior ainda não foi terminada. Em vez de ProductContext.Plataforma.IniciaTransaccao(); sugiro a utilização de uma TransactionScope Consulte: https://learn.microsoft.com/en-us/dotnet/api/system.transactions.transactionscope?redirectedfrom=MSDN&view=net-7.0
Marked as spam Comments Obrigado pela sugestão, no entanto penso que ela não se aplica neste cenário porque as conexoes ao SQL já se encontram abertas e como tal ficam fora do TransactionScope. |