2012-02-08 16 views
1

我試圖在我的數據訪問模式中做得更好,因此我試圖確保在需要的地方使用事務與事務。提交更改是否適用於所有linq2sql對象,即使它們是在單獨文件中定義的

我想知道,如果我做了許多改變,跨越許多不同的存儲庫類(數據訪問類),然後從一個類調用SubmitChanges,那麼即使我已經使用其他類作爲我的事務的一部分,這將是安全的。

是否有最佳實踐linq2sql交易的好教程,以及我需要一個比SubmitChanges的內置交易更復雜的解決方案?

回答

2

當調用SubmitChanges()時,無論從哪裏調用,都會將屬於同一DataContext的所有對linq to sql對象的更改提交到數據庫。

0

難怪,如果我做了很多變化,在許多不同的庫 類(數據訪問類),然後只需要調用的SubmitChanges從 一類,那將是安全的,即使我已經使用其他類作爲 部分我的交易。

是的,那將是安全的。只要您調用SubmitChanges一次,Linq-2-sql將執行所有更新,並且它將在linq-2-sql爲您創建的一個事務中執行此操作。無需自行添加單獨的事務。

我需要一個比SubmitChanges的內置 交易更復雜的解決方案?

那麼,我所能想到的是,如果你想更新使用單獨的datacontexts,例如跨多個數據庫。

相關問題