我已經開始了一個學校的項目,我正在使用ASP.NET MVC 2 + LINQ2SQL和一個業務層,所以我的UI不直接與數據庫交互。我的問題是這樣的:MVC +存儲庫模式 - 仍然依賴於數據模型?
在我的MVC項目中,當提出視圖並傳遞數據時,我仍然需要包含我的Data項目以訪問我的Linq2Sql項目中的類。它是否正確?
例子:
控制器:
ClassesRepository cr = new ClassesRepository(); // this is from my Business project
Class classToEdit = cr.GetByClassId(id); // "Class" is from my data project
我還是要引用Class類在我LINQ2SQL數據的項目 - 不要我的用戶界面是完全獨立的我的數據層?或者,也許我正在解決這個問題。
當你說每個視圖模型,你的意思爲索引,編輯模型,創建視圖控制器嗎?或者一般來說,每個物體都有一個模型,用控制器進行操縱?現在,我創建了幾個視圖模型來傳遞其他數據以及我的linq 2 sql類。 – Jack 2010-04-27 03:16:17
我的意思是每個視圖的模型。所以是一個索引,編輯,創建模型等...將您的linq2sql類映射到您的視圖模型,因爲視圖模型不應直接綁定到linqtosql模型。你也可以查看模型在任何情況下都不需要包含在linqtosql或repository類中的所有數據。 – Kelsey 2010-04-27 03:19:39
啊,我看到了,非常感謝,非常有幫助。我想我的最後一個問題是,這將如何在未來獲得回報?它只是對我來說更多的工作(構建包裝模型)。用linq 2 sql我有我的驗證屬性,然後我必須做我的視圖模型相同。 – Jack 2010-04-27 21:13:41