ASP.NET MVC“模型”目录:它有什么用?

时间:2009-08-28 21:29:41

标签: asp.net asp.net-mvc models

默认的ASP.NET MVC项目设置了一个“模型”目录,我不知道我曾经在我曾经使用的少数MVC项目中使用过。通常,我有一个单独的“库”项目,用于存储业务逻辑类。

现在我很好奇:我是否因为没有利用默认的ASP.NET“Models”目录而遗漏了一些东西?是否有一些内置功能可以很好地使用它?

5 个答案:

答案 0 :(得分:9)

我通常将此目录用于我的视图模型。域模型位于单独的项目/程序集中,但视图模型与Models目录中的Web项目保持一致。将模型添加到此目录会自动在* .Models命名空间中设置它们。

答案 1 :(得分:5)

你没有遗漏任何东西。在我看来,创建文件夹的唯一原因仅仅是因为它是ASP.NET MVC,他们需要“M”,“V”和“C”的文件夹。默认情况下,ASP.NET MVC不会告诉您如何实现“M”,因此它只是为您提供一个空白文件夹,作为建模放置模型类的建议。您可以自由删除此文件夹并将模型放在您喜欢的位置。

答案 2 :(得分:2)

文件夹本身没有“特殊”功能,但只是建议保留模型类的位置(即数据类,例如ORM生成(LINQ))。

示例类是客户,地址,订单等建模基础数据实体。

答案 3 :(得分:2)

由于我通常将模型保存在单独的项目/程序集中,因此我使用Models文件夹来存储UI特定的类,就像我有一个显示Widget和{{1}的视图一样我只是将它们包装在一个Foosit对象中。

WidgetFoositContext

答案 4 :(得分:1)

我使用models目录来存储业务对象的组合。如果您在产品控制器中,我将创建一个ProductViewData类来存储产品本身以及列表推荐产品和产品的评论列表。

我更喜欢保持我的业务对象非常简单,而且我可以在models目录中将我需要的不同形式的数据编织在一起。