由于SQL Server的SavePoints功能(SqlTransaction.Save()
),我想以非常有限的方式使用SqlTransactions
(我真的需要这个功能),同时仍然在所有其他地方使用环境事务。我意识到这意味着此代码(和依赖项)现在是SQL Server特定的 - 这很好。但是,我仍然希望在所有其他地方遵循首选的环境交易以达到最佳实践目的。 (如果我们需要迁移到Oracle或其他东西,那么我们需要重新编写代码的这一部分,但不想重写整个代码库。)
是否可以从SqlTransaction
(返回Transaction.Current
类型的对象)或其他方式获取当前System.Transactions.Transaction
? (我可能错了,但我猜这最终是在运行时实现环境Transaction
对象的对象)
(related but different question I'm currently working on if you need more info on why)
答案 0 :(得分:0)
据我所知,这根本无法做到。鉴于我对此没有回应,我将此标记为答案。我可能仍然是错的。不过,我根本无法想出这一点,并且没有时间进一步研究它。