2
我想問我是否有適當的設計。
背景:
我使用EF4開發我的Web應用程序。該申請將由三個辦事處使用。三個辦事處的業務流程彼此相似。每個辦公室都有自己的數據庫,但大多數表中,數據庫中的SPROC都是相同的。
我的想法:
我想將相同的表和存儲過程提取到單個edmx文件,並在運行時基於登錄用戶將連接字符串指向數據庫。
我的方法添加到構造
實體框架在運行時連接到多個數據庫
MPREntities(string connectionString, string containerName)
而且會通過的connectionString和容器名稱,初始化MPREntities時。 containerName是相同的 - 「MPREntities」,它不依賴於指向的數據庫。在傳遞之前,connectionString將根據登錄用戶進行更改。我已經完成了一些測試,看起來可行。但是,這是一個正常的方法?有什麼建議麼?
系統上個月正式上線。到目前爲止,它運作良好。優點是不需要維護大量通過數據庫生成的類似模型。缺點是我需要保持數據庫不變。 – 2014-01-13 01:17:42
很好用,保持數據庫的一致性對於這種方法的有效性很重要,但是這可以被認爲是一種優勢而不是缺點。如果沒有這個「強制因素」,你的數據庫會隨着時間推移出現分歧。您還可以爲每個數據庫設置多個模型,因此如果您想促進差異,請將此模型用作「常用」模型,並使用另一個數據庫特定的「擴展」模型 – stevenrcfox 2014-01-13 11:01:20