Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

EF:Como chamo SaveChanges duas vezes dentro de uma transação?


Eu sei que é uma resposta tardia, mas achei útil compartilhar.

Agora em EF6 é mais fácil conseguir isso usando dbContext.Database.BeginTransaction()

assim :
using (var context = new BloggingContext())
{
    using (var dbContextTransaction = context.Database.BeginTransaction())
    {
        try
        {
            // do your changes
            context.SaveChanges();

            // do another changes
            context.SaveChanges();

            dbContextTransaction.Commit();
        }
        catch (Exception)
        {
            dbContextTransaction.Rollback();
        }
    }
}

para obter mais informações, consulte este

novamente está no EF6 em diante