当使用
dbContext.Database.BeginTransaction()
方法创建的DbContextTransaction
包装了EntityFramework
查询时,我遇到了以下错误:
我在Effort GitHub存储库中找到了一篇帖子,其中有类似的错误(https://github.com/tamasflamich/effort/issues/29),它使用由在NMemory.Transactions.Transaction.EnsureTransaction(Transaction& transaction, IDatabase database)处发生错误。在NMemory.Tables.Table
2.Update(IQueryable
1 query, IUpdater1 updater, Transaction transaction)处发生错误。在NMemory.Tables.Table
2.NMemory.Tables.IBulkTable.Update(TableQuery1 query, Expression
1 updater, Transaction transaction)处发生错误。在NMemory.Linq.QueryableEx.Update[T](IQueryable1 queryable, Expression
1 updater, Transaction transaction)处发生错误。在Effort.Internal.Common.DatabaseReflectionHelper.WrapperMethods.UpdateEntities[TEntity](IQueryable1 query, Expression
1 updater, Transaction transaction)处发生错误。
dbContext.Database.Connection.BeginTransaction()
方法创建的DbTransaction
进行了修复。我尝试使用DbTransaction
代替,它可以工作,但现在我想知道这两者之间的区别是什么?