在Entity Framework 6中,在DbContext类下,您可以通过context.Database.CurrentTransaction访问当前事务。但是,这个API在EF.Core中似乎没有。如何从EF.Core中的dbcontext中检索当前事务对象?
答案 0 :(得分:5)
EF Core仍然缺少许多EF6功能,但(慢慢地)正在迎头赶上。
在这方面,我不能说早期版本,但在最新的(到目前为止)v1.1.0中,DbContext.Database
CurrentTransaction
属性存在,所以你可以使用相同的代码在EF6中访问它。
答案 1 :(得分:-3)
没有一种方法可以在DbContext的Database属性中检索当前事务,无论如何使用EF Core启动事务,你可以添加以下代码:
using (var transaction = dbContext.Database.BeginTransaction())
{
try
{
// add code for ef core
transaction.Commit();
}
catch (Exception ex)
{
transaction.Rollback();
throw ex;
}
}
请告诉我这是否有用。