2011-08-08 48 views
1

由於SQL Server的SavePoints功能(SqlTransaction.Save()),我想以非常有限的方式使用SqlTransactions(我真的需要此功能),同時仍在所有其他地方使用環境事務。我意識到這意味着此代碼(和依賴項)現在是SQL Server特有的 - 這很好。但是,爲了達到最佳實踐目的,我仍然希望在所有其他地方遵循首選的環境交易。 (如果我們需要遷移到Oracle或東西,那麼我們就需要重新修改我們的這部分代碼,但不想返工整個代碼庫。)可能從環境事務中獲取SqlTransaction?

是否有可能得到Transaction.Current當前SqlTransaction(它返回一個System.Transactions.Transaction類型的對象)或其他方式? (我可能是錯的,但我猜,這是最終實現在運行時環境Transaction對象的對象),據我所知,這根本無法做到

related but different question I'm currently working on if you need more info on why

+0

我的研究表明,每個人都說我不應該混合這些,然後給出哲學原因(難以維護等)。據我所知,沒有技術上的原因,爲什麼我不應該混合這些。如果有人能提供,那麼也會回答這個問題。 – Jaxidian

回答

0

。鑑於我對此沒有迴應,我將此標記爲答案。我仍然可能是錯的。但是,我根本無法弄清楚這一點,但沒有時間進一步研究。