【发布时间】:2016-05-17 06:16:27
【问题描述】:
如何在 Entity Framework 7 中回滚事务?
在旧版本中,我们有
try
{
dataContext.ChangeTracker.DetectChanges();
dataContext.SaveChanges();
}
catch (Exception e)
{
dataContext.Database.CurrentTransaction.Rollback();
Debug.WriteLine(e.Message);
}
现在我用
“EntityFramework.Commands”:“7.0.0-rc1-final”
没有方法。
【问题讨论】:
-
但是 SaveChanges 已经在事务中运行。因此,如果 SaveChanges 失败 - 该事务将回滚。
-
@Evk,在旧 EF 中,
SaveChanges是否涵盖了事务失败。如果是,为什么要发明Rollback方法? -
是的,据我所知,它总是包含在事务中。至于为什么会有回滚 - 你可以通过 dataContext.Database.BeginTransaction() 显式启动事务。然后,您可以例如多次调用 SaveChanges。如果你想回滚 - 你需要调用 Rollback。
标签: c# asp.net-core entity-framework-core