我想知道是否有辦法在對象上進行交易。 我對這個問題提出了以下情況:在C中的對象交易#
我們將我們的對象傳遞給我們的數據訪問層。我們使用了transactionscope來確保數據庫不被破壞。
在該過程中,可以更改對象(datechanged,擁有者等等)。但是,如果事務失敗,事務處理器將回滾數據庫中的事務,但不在您的對象上。
這樣你的對象(通過引用傳遞)有點損壞。
我希望有一個解決方案。
我想知道是否有辦法在對象上進行交易。 我對這個問題提出了以下情況:在C中的對象交易#
我們將我們的對象傳遞給我們的數據訪問層。我們使用了transactionscope來確保數據庫不被破壞。
在該過程中,可以更改對象(datechanged,擁有者等等)。但是,如果事務失敗,事務處理器將回滾數據庫中的事務,但不在您的對象上。
這樣你的對象(通過引用傳遞)有點損壞。
我希望有一個解決方案。
當你使用TransactionScope時,它會明確地告訴你它什麼時候回滾(通過給你一個錯誤)。如果發生這種情況,除非從源頭清理乾淨,否則不應繼續處理對象。
我真的懷疑你可以在你的類對象上有事務。也許你可以自定義你的代碼來維護另一個實例的狀態,並在你的回滾語句後恢復它。 HTTP:/
這是紀念模式。 – user29964 2009-12-04 09:43:37
我你用一個好還是映射器像NHibernate的,而不是一個自定義的數據層,這將是照顧你
類似的問題以前已經問/stackoverflow.com/questions/1765615/transactions-for-c-objects – 2009-12-04 08:12:10
+1好問題 – 2009-12-04 08:15:19