2012-12-21 39 views
3

從架構的角度來看,我需要知道它是否是一種正確的方法。Asp.MVC我們可以從模型組件調用數據庫層嗎?

我正在從事MVC項目,我有一個單獨的數據層組件和另一個模型組件。這兩個程序集都在MVC項目中引用。

現在情況已經出現,我需要從模型組件中的數據庫獲取數據註釋字符串,在模型組件中引用數據層並從數據庫獲取字符串或者如果有更好的方法。

請建議

+0

也許我誤解了,但在這種情況下,你的數據層是不是已經有了對Model的引用? –

+0

數據層是EF,因此我們稱之爲業務層的模型不需要引用EF方法從模型中分配數據 – Deepesh

回答

1

像往常一樣,與設計問題,得到的答覆是「這取決於」 :)

我有一個項目,其確切的同一實體作爲模型,併爲數據實體,所以基本上在UI(ASP.NET MVC)和數據層(EF 4.3)中使用相同的數據註釋。有用。好處是它在整個系統中都是一致的(一個Account對象意味着到處都是一樣的東西),缺點是任何額外的模型邏輯,無論是面向數據庫(例如導航屬性)還是面向用戶界面(例如FullName屬性爲Account類)將混合在同一個地方。

我有另一個項目,UI層的模型與數據層完全分開,通過管理層進行通信。有用。這裏的優勢在於每層都非常脆,其責任也非常明確。然而,缺點是許多管理代碼都是管道代碼,但不夠自動生成。另外,例如,將文本字段添加到實體的任何更改都需要在更少的位置進行更改。一個不平凡的一句話是,開發商之間的溝通是有點的事實阻礙,有幾個「客戶」類(AccountViewModelAccountEntityAccountManager等)

所以,我的觀點是,盡一切似乎與您當前最一致建築。

相關問題