3 c# entity-framework-core asp.net-core
如何在Entity Framework 7中回滚事务?
在旧版本中,我们有
try
{
dataContext.ChangeTracker.DetectChanges();
dataContext.SaveChanges();
}
catch (Exception e)
{
dataContext.Database.CurrentTransaction.Rollback();
Debug.WriteLine(e.Message);
}
Run Code Online (Sandbox Code Playgroud)
现在我用
“ EntityFramework.Commands”:“ 7.0.0-rc1-final”
它没有方法。
中的推荐交易模式7.0.0-rc1-final与EF6中的相同:
using (var transaction = context.Database.BeginTransaction())
{
try
{
/*do something*/
context.SaveChanges();
transaction.Commit();
}
catch (Exception ex)
{
transaction.Rollback();
}
}
Run Code Online (Sandbox Code Playgroud)
EF7还提供了异步API(不是EF6):
using (var transaction = await context.Database.BeginTransactionAsync())
Run Code Online (Sandbox Code Playgroud)