Jump to content

Entity Framework - Rollback


Recommended Posts

Boa Tarde Galera,

Gostaria saber se existe alguma outra forma de fazer um Rollback sem ser utilizando TansactionScope.

Estou tentando utilizar o TS, mas retorna o seguinte erro:

O gerenciador de transações de parceiros desativou seu suporte a transações remotas/de rede. (Exceção de HRESULT: 0x8004D025)

Obrigado!

Link to post
Share on other sites

Mas como faço para incluir registros em 2 tabelas?

tenho o seguinte código:

Using db As New CNS_CEEntities

            Try
                Dim nf As New NOTAFISCAL With {.IdNF = txtNumDoc.Text, _
                                               .Numero = txtNumNF.Text, _
                                               .DataDocumento = dtDocumento.Text, _
                                               .DataRecebimento = Today.Date, _
                                               .PrazoEntrega = dtPrazo.Text, _
                                               .ReferenciaSAP = txtCodSAP.Text, _
                                               .PesoLiquido = txtPesoLiquido.Text, _
                                               .PesoBruto = txtPesoBruto.Text, _
                                               .MaterialConsignado = strConsignado}

                db.AddToNOTAFISCAL(nf)
                db.SaveChanges()

                Dim i As Integer = 0

                Dim prodNf As New NOTAFISCAL_PRODUTO With {.IdNFProduto = gridItemNF.Item(0, i).Value, _
                                                           .PesoTotal = gridItemNF.Item(2, i).Value, _
                                                           .ValorUnitario = gridItemNF.Item(3, i).Value, _
                                                           .QtdVolumes = gridItemNF.Item(4, i).Value}

                prodNf.NOTAFISCAL = (From n In db.NOTAFISCAL Where n.IdNF = txtNumDoc.Text Select n).First()
                prodNf.PRODUTO_ESTOQUE = (From p In db.PRODUTO_ESTOQUE Where p.IdProdutoEstoque = gridItemNF.Item(1, i).Value Select p).First()

                db.AddToNOTAFISCAL_PRODUTO(prodNf)
                db.SaveChanges()

                MsgBox("Registro Incluido")

            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Using

mas se ele der erro na segunda inclusão..

ele não volta a primeira...

o que estou fazendo de errado?

Link to post
Share on other sites

Ok, Entendi...

mas se seu não fizer o primeiro, não consigo fazer o segundo...

como devo proceder para incluir os registros nas 2 entidades e dar um Rollback caso aconteça algum erro na segunda inclusão?

Link to post
Share on other sites

Caça...

Mais uma vez obrigado...

Justamente isso que eu queria, uma alternativa ao TransactionScope()...

Apliquei como esta na Wiki na versão 3.5 e funcionou também!

Muito obrigado!

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.