我是MVC的新手,如果你能澄清我的问题,我将不胜感激。
什么是型号?
它只是Poco类有字段/属性,例如Person类吗?
或者是包含数据的数据结构的模型,例如List<Person>
或List<Users>
?
或者根据asp.net,工作模型是业务层或服务层,可以有业务规则,逻辑,验证,我可以与其他层交谈吗?
感谢您的帮助并指导我。
答案 0 :(得分:3)
有 ViewModels 和 DataModels 。 Poco模型被认为是DataModels。 Poco模型也可以用作ViewModels,但最好使用单独的视图模型。因为ViewModel可以包含一个或多个Poco模型。
您可以在此处找到更多详细信息:http://rachelappel.com/use-viewmodels-to-manage-data-amp-organize-code-in-asp.net-mvc-applications
答案 1 :(得分:1)
一个重要的注意事项&#34;模型&#34;在&#34; ASP.Net MVC&#34;不同于&#34;模型&#34;在经典MVC design pattern中,所以在寻找定义/资源时要小心。 &#34;经典MVC中的模型&#34;涵盖在How should a model be structured in MVC?。
&#34;型号&#34;在ASP.Net中,MVC是对象(通常为class
),理想情况下提供呈现特定视图所需的所有数据。
此对象是否用于任何其他目的没有限制。如果您查看从数据访问层显示一个特定项目(如Person
),您可以轻松地在数据访问层中共享同一对象并将其用作视图模型。
请注意,从MVC5开始,视图不能异步调用方法,因此最好确保模型类实例中存在所有数据,而不是让视图调用DB /其他远程服务。