我有一個DAL基類,它集中了我的應用程序中的所有數據庫調用代碼。我希望確保所有插入/更新/刪除操作都被包裝在一個事務中,而不管它是否寫入到SP中。將我的'ExecuteNonQuery'DAL方法包裝在TransactionScope中是否會是一個好習慣,還是我會爲不需要它的db調用添加大量開銷。是否總是在DAL基類中使用TransactionScope是一種好的做法?
我很高興在需要包裝多個服務調用時使用TransactionScope在UI中進一步提升,它實際上只是在SP級別實施,我不確定。
即時通訊使用.net 3.5和大多數SQLServer 2008,一些客戶端仍然使用2005年 - 希望很快移動這些。
感謝
所以你說我的.NET DAL方法包裹在交易中,但不包括它在我的基類方法?請注意,我只是打算將它添加到目前僅用於更新/刪除的ExecuteNonQuery基本方法中。在你的第一個聲明中,你推斷一個事務(例如)不會在單個SP刪除調用中啓動,SP可能會運行多個刪除/更新語句? – 2011-05-31 08:04:24
@Joel - 我在說*一般*您希望交易跨越多個操作,但也可以:您可能根本不想要交易。我不認爲太多的鍋爐板在這裏幫助...交易需要思考。 – 2011-05-31 08:24:56