2011-07-12 29 views
0

現在我正在使用.dbml文件中生成的類,並通過存儲庫模式的實現將數據傳遞給控制器​​。我的問題是,我是否需要創建基本上來自.dbml的類的克隆,而不使用linq-to-sql並且沒有某些標記,或者使用ID來正確區分域邏輯?在DBML中使用MVC3

回答

4

克隆你指的是一個名字:查看模型。是的,你絕對應該使用視圖模型。它們針對特定視圖的特定要求而定製。然後,控制器應該查詢存儲庫以獲取一些域模型(自動生成的Linq-To-Sql類,EF實體...)並將它們映射到將傳遞給視圖的視圖模型類。這就是每個正確設計的ASP.NET MVC應用程序應該被設計的恕我直言。您不應將域模型傳遞給視圖,也不應將任何域模型作爲視圖中的操作參數接收。只查看模型。

查看模型不是域模型的克隆。視圖模型可以從多個域模型映射出來,或者一個域模型可能會分解成多個視圖模型。這樣,視圖就可以充分靈活地表示數據,而不依賴於業務層中傳輸數據的方式。