2011-02-04 77 views
2

我有四个层解决中等规模的项目:ASP净MVC验证和视图模型

  1. 模型(EF POCO实体)
  2. 数据(EF ObjectContext的)
  3. 服务
  4. ASP净MVC问题

    a)我应该有模型或MVC项目中的验证属性 - Dataanotation吗?

    b)如果在MVC中,我应该在哪里设置ViewModel-s,然后在Controller中使用数据填充ViewModels?否则如果在其他项目上应该为VewModel创建Repository?

    c)应该ViewModel验证>?

回答

2

A,C)如果你有一个是从你的DTO的不同视图模型,那么你可能更喜欢在类型使用DataAnnotations。这样,您可以在尝试保留之前进行验证,并且在您的DTO在您的MVC应用程序范围之外使用的情况下坚持使用。 B)我通常将视图模型放入我的MVC应用程序的Models文件夹中,并将我的DTO放入与我的MVC应用程序分开的数据项目中。我使用AutoMapper LOT在我的视图模型和我的DTO之间复制值。

0

对Models和ViewModels进行验证是可以的。它更符合你的喜好,但最好对ViewModel进行验证(你不需要使用绑定等),但是当模型也可以使用时,创建很多ViewModel还有更多的工作要做。

-1

我真的希望创建模型内的两个文件夹:

一个是数据库模型类,另一个是视图模型。

您还可以将所有类型的验证添加到数据库模型类中。

+3

这与这个问题有什么关系? – 2017-04-03 06:39:27