我有四层解决方案是一个中等规模的项目:
asp net MVC问题
a)我是否应该拥有验证属性 - 模型或MVC项目中的Dataanotation?
b)如果在MVC中我应该在哪里设置ViewModel-s然后在Controller中用数据填充ViewModels?否则,如果在其他项目上应该为VewModel创建Repository?
c)ViewModel应该验证>?
答案 0 :(得分:2)
A,C)如果您的视图模型与DTO不同,那么您可能更喜欢在两种类型中使用DataAnnotations。通过这种方式,您可以在尝试保留之前进行验证,如果您的DTO在MVC应用程序范围之外使用,则可以再次进行验证。
B)我经常把我的视图模型塞进我的MVC应用程序的Models文件夹和我的DTO到一个独立于我的MVC应用程序的数据项目中。我使用AutoMapper一个LOT来复制我的视图模型和我的DTO之间的值。
答案 1 :(得分:0)
可以对模型和ViewModel进行验证。它是你喜欢的东西,但最好是在ViewModel上进行验证(你不需要使用绑定等),但是当模型也可以使用时,还可以创建很多ViewModel。
答案 2 :(得分:-1)
我真的更喜欢在模型中创建两个文件夹:
一个用于数据库模型类,另一个用于视图模型。
您还可以将所有类型的验证添加到数据库模型类中。