Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

EF:Come faccio a chiamare SaveChanges due volte all'interno di una transazione?

So che è una risposta un po' tardiva, ma ho trovato utile condividerla.

Ora in EF6 è più facile ottenerlo usando dbContext.Database.BeginTransaction()

così :

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();
        }
    }
}

per ulteriori informazioni, guarda questo

di nuovo è in EF6 in poi