我想在viewmodel中进行所有输入验证。
访问数据库时,必须将viewmodels数据复制到发送到数据库的模型中。
我担心的是数据会丢失,因为:
我的担忧是否合理,或者我不应该关心它?
答案 0 :(得分:2)
在这种情况下,Automapper完全没问题,我将其广泛用于此目的。如果您担心数据丢失,则不应在模型本身上使用数据注释验证,以确保在保留或调用其他服务之前拥有所需的数据。
另外,唯一可以确保您不会错过任何使用Auotomapper或只是手动代码映射的真正方法是一组很好的单元测试。
答案 1 :(得分:0)
我担心的是数据可能会丢失,因为:Automapper是 错误地设置某些场景,因此不会复制属性 到模型或Automapper不适合每个场景 也许是太复杂的ViewModels
我认为您不太可能丢失数据。对于复杂 viewModels您可以选择手动设置特定属性 不会被Automapper复制。正如@feanz好单位所建议的那样 测试将为您提供所需的保证。**