asp net mvc验证和ViewModel

时间:2011-02-04 19:58:32

标签: c# asp.net-mvc-2

我有四层解决方案是一个中等规模的项目:

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

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

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

    c)ViewModel应该验证>?

3 个答案:

答案 0 :(得分:2)

A,C)如果您的视图模型与DTO不同,那么您可能更喜欢在两种类型中使用DataAnnotations。通过这种方式,您可以在尝试保留之前进行验证,如果您的DTO在MVC应用程序范围之外使用,则可以再次进行验证。

B)我经常把我的视图模型塞进我的MVC应用程序的Models文件夹和我的DTO到一个独立于我的MVC应用程序的数据项目中。我使用AutoMapper一个LOT来复制我的视图模型和我的DTO之间的值。

答案 1 :(得分:0)

可以对模型和ViewModel进行验证。它是你喜欢的东西,但最好是在ViewModel上进行验证(你不需要使用绑定等),但是当模型也可以使用时,还可以创建很多ViewModel。

答案 2 :(得分:-1)

我真的更喜欢在模型中创建两个文件夹:

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

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