我在努力将两个最佳实践相结合:
- 在ASP.NET MVC 2中使用DataAnnotations + ModelBinding进行验证
- 通过ViewModel传递数据时使用DTO而不是领域实体
如果我想传递DTO而不是领域实体,那么利用DataAnnotations + ModelBinding进行验证就需要在我的DTO类上指定验证属性。这会导致很多重复的工作,因为多个DTO可能具有相同的字段和相同的验证限制。这意味着每当我更改领域中的验证规则时,我都必须去找到所有与该值对应的DTO,并更新它们的验证属性。