是MVC模型Poco类,具有数据或业务层的结构?

时间:2014-05-27 23:49:07

标签: c# .net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

我是MVC的新手,如果你能澄清我的问题,我将不胜感激。

什么是型号?

它只是Poco类有字段/属性,例如Person类吗?

或者是包含数据的数据结构的模型,例如List<Person>List<Users>

或者根据asp.net,工作模型是业务层或服务层,可以有业务规则,逻辑,验证,我可以与其他层交谈吗?

感谢您的帮助并指导我。

2 个答案:

答案 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

View models and data models

答案 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 /其他远程服务。