2012-02-29 204 views
0

當我從數據庫中加載數據時,我使用一個存儲過程加載DataItem和與之相關的任何Data。這返回到一個具有兩個表的數據集中,第一個表具有一行並且描述了DataItem,而另一個表中的每一行描述了相關的Data將數據集保存到數據庫

然後使用此DataSet來填充我的對象。

當我必須將對象保存回數據庫時,出現問題。我目前正在保存DataItem,然後遍歷我的所有Data並在每個節點上執行保存。我知道,完全可怕的方式去做。這很慢,並且不是事務性的。

所以我最想做的就是將我的對象轉換回我的DataSet,然後在一個有效的事務操作中將它們全部保存回數據庫。我需要在C#端創建這個事務代碼並允許我傳回一個DataSet。我認爲這將涉及使用TableAdapter。但鑑於我有兩張桌子,這將如何工作?我在SQL方面使用什麼 - 我可以使用存儲過程嗎? (我想避免在我的C#項目中使用SQL)我是否需要編寫一些將處理循環訪問數據表以保存每條記錄的內容?

什麼是最好的方式去做這一切?這將構成我正在進行的項目的關鍵,所以我希望它儘可能地快速和高效!

(.NET 4.0和SQL 2005)

+1

一個簡單的谷歌搜索會給你這個http://msdn.microsoft.com/en-us/library/xzb1zw3x%28v=vs.80%29.aspx – 2012-02-29 13:41:07

+0

而相關部分[__Walkthrough:將數據保存到數據庫(多個表)__](http://msdn.microsoft.com/zh-cn/library/4esb49b4.aspx) – 2012-02-29 14:15:25

+0

在發佈之前閱讀它們,也許我沒有理解。他們似乎沒有提到SQL方面會發生什麼。我已經閱讀了這個,我只是想就我的情況提供一些關於最佳實踐的建議。也許這不是那個地方。 – Jon 2012-02-29 14:25:17

回答