![]() |
1
1
你不能。这是要付出的代价,但我认为这是相当便宜的,因为事实上,在这个精简版本中,验证属性可能是不同的,根据视图的要求,你可能有不同的验证属性。让我们举个例子:
此外,一般来说,我只将验证属性放在视图模型上,但这可能不是最佳方法,因为如果您希望在不同的应用程序中重用您的模型,那么它们上就不会有任何验证逻辑。
我个人从不使用
就automaper而言,它是一个必须具备的工具,可以在模型类(出现在存储库方法签名中)和视图模型(传递到视图和从视图传递到视图)之间进行转换。 |
![]() |
2
0
我发现只在ViewModel上放置验证属性并保持模型对象的独立性是最好的方法。 当用户发布任何数据时,将验证视图模型;如果数据有效,则业务层将使用用户发送的数据在数据库中创建对象模型。 在服务/业务层类中,更新或添加的函数只接受对象模型(字符串、int等)的必要值,而不接受整个对象。服务类负责创建对象。 通过对视图模型进行验证,可以确保传递到业务逻辑层的任何和所有数据都是有效的,并且可以安全地提交更改。 |