在實體框架6中,在DbContext類下,您可以通過context.Database.CurrentTransaction獲取當前事務。然而這個API在EF.Core中似乎不可用。如何從EF.Core中的dbcontext檢索當前事務對象?如何從dbcontext獲取當前事務
2
A
回答
4
EF Core仍然缺少許多EF6功能,但(緩慢)正在趕上。
在這方面,我不能說早期版本,但在最新的(到目前爲止)v1.1.0 DbContext.Database
CurrentTransaction
屬性在那裏,所以你可以使用相同的代碼,在EF6來訪問它。
-2
沒有對的DbContext的數據庫屬性檢索當前交易的方法,anbyway開始與EF核心事務,您可以添加以下代碼:
using (var transaction = dbContext.Database.BeginTransaction())
{
try
{
// add code for ef core
transaction.Commit();
}
catch (Exception ex)
{
transaction.Rollback();
throw ex;
}
}
讓我知道這是有益的。
我無法檢查舊版本,但在EF Core v1.1.0中,您可以使用與EF6中相同的代碼。 –
你可以指點我.Core文檔哪裏有DbContext這些屬性可用?我沒有看到這些。 – BKS
當然,這裏你去https://docs.microsoft.com/en-us/ef/core/api/microsoft.entityframeworkcore.infrastructure.databasefacade#Microsoft_EntityFrameworkCore_Infrastructure_DatabaseFacade_CurrentTransaction –