Come eseguire il rollback di una transazione in Entity Framework 7?
Nella vecchia versione, abbiamo
try
{
dataContext.ChangeTracker.DetectChanges();
dataContext.SaveChanges();
}
catch (Exception e)
{
dataContext.Database.CurrentTransaction.Rollback();
Debug.WriteLine(e.Message);
}
Ora io uso
"EntityFramework.Commands": "7.0.0-rc1-final"
Non ha il metodo.
Il modello di transazione raccomandato in 7.0.0-rc1-final
è lo stesso di EF6:
using (var transaction = context.Database.BeginTransaction())
{
try
{
/*do something*/
context.SaveChanges();
transaction.Commit();
}
catch (Exception ex)
{
transaction.Rollback();
}
}
Anche EF7 fornisce API asincrone (EF6 non):
using (var transaction = await context.Database.BeginTransactionAsync())