我希望我的數據訪問層構建得非常模塊化。
因此,我有數據檢索方法,有時直接從業務層調用,有時被其他數據檢索方法調用來創建對象依賴關係。在DAL中處理數據庫連接的最佳方式 - 創建或傳遞?
在DAL中處理數據庫連接的最佳方法是什麼?
a)在每個方法中創建一個新的連接,然後進行處理。
好:易於編寫和使用。
不好:許多連接正在打開和關閉。 (性能?)
b)將連接作爲(可選)參數傳遞。
好的:我可以重複使用一個打開的連接來執行多個命令。
不好:我必須跟蹤連接的所有權(誰必須關閉它?),並且不能使用非常整潔的「using」語句。
c)還有別的嗎? (連接可能是單身人士嗎?)
這是我第一次寫真正的DAL,所以我真的可以使用一些經驗豐富的人幫忙。
編輯:它似乎很重要,它是一個ASP.Net網站項目。
可能是切線,但FWIW,我寧願使用nhibernate,讓它掌握所有這一切。即只使用nhibernate提供的會話對象。 – Biswanath 2011-01-26 21:16:46