我只想在MVC模式中弄清楚屬於模型的內容,特別是MVC3中Models文件的內容,與存儲庫和對象的內容。MVC - 模型,對象和庫之間的差異
現在,在我目前的解決方案MVC3,我有4個項目:
- 稱爲「對象」的一個項目,其持有約在我的應用程序中的所有核心對象的信息。
- 一個名爲「Data」的項目,其中包含有關每個對象的數據上下文和存儲庫的信息信息(使用MVC3腳手架創建)
- Web項目,其中包含控制器,視圖和 - 這個問題 - 模型
- 單元測試項目
我真正想獲得澄清的是什麼之間應在Objects項目與Web項目的模型文件夾中發生的事情去區別。現在我只使用Models文件夾來保存我稱之爲「視圖模型」的東西,它通常包含核心對象的組合。該文件夾中的文件是否只包含定義模型內容的定義,還是應該包含控制器可能調用的其他代碼?
我認爲我對控制器和存儲庫都有很好的理解,但是有時我會對某些代碼是否應該在一個或另一箇中感到困惑。那裏有什麼特定的指導原則或限制,對於什麼絕對不應該放在控制器中,而應該放在存儲庫或模型中?
一如既往的感謝。
我個人將我的viewmodels放入ViewModels文件夾樹和由Entity Framework生成的模型放到Models文件夾樹中。我懷疑別人會有其他的方法。從概念上講,使用EF我習慣於讓我的控制器處理數據庫上下文並調用'context.whatever.Add(myThing)'並調用'context.SaveChanges()' - 這可能不是「最好的」辦法。 – itsmatt