在我的《MyGeneration學習筆記(1) : 使用MyGeneration生成存儲過程和數據訪問層代碼 》一文中,我提到用internal string _raw = ProjectName.Properties.Settings.Default.ConnectionString;這條語句來初始化數據庫連接字符串,現在想想,這種方法還有一定的局限性,即只能用在只有一個數據庫的系統;如果我們開發的組件或程序集(Assembly)需要用多個數據庫,則還要想其他辦法:)
一種方法是我最開始提到的原始方法:“應用程序中手動給屬性ConnectionString賦值,但這樣的話,每個業務實體在new完之后,都要給ConnectionString賦值”。感覺這種方法不大爽。試想一下,在構建N層架構的應用程序時,Concrete Class的上一層的開發人員還要去了解當前操作的Concrete Class是要操作哪個數據庫,對應哪個數據庫中的哪張表,多郁悶...
可不可以將數據庫連接操作也封裝起來?答案是可以的!解決方法是:在dOOdad生成的Concrete Class的構造函數中設置數據庫連接字符串,eg:
public class Employee : _Employee
{
public Employee ()
{
this.ConnectionString = Properties.Settings.Default.StrConnectTo*DB;
}
// Other Members
}
這樣一來,Concrete Class的上一層的開發人員就不必關心底層有哪些個數據庫、哪些ConcreteClass需要操作哪些數據庫了:)
浙公網安備 33010602011771號