我只想在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