如果你正在使用EF Core,上面的更新是不必要的,因为它有一个更改跟踪系统。如果你想利用这个EF Core特性,请参阅 关于数据库无关心原则的讨论部分本例中的 IssueAssignDto 是一个简单的DTO类:
例外情况:该规则可能有一些例外:如果您总是希望并行开发两个方法,它们可能共享相同的输入DTO(通过继承或直接重用)。例如,如果您有一个具有一些过滤器的报告页面,并且您有多个Application Service方法(如屏幕报告、excel报告和csv报告方法)使用相同的过滤器但返回不同的结果,您可能希望重用相同的过滤器输入DTO来耦合这些用例。因为,在本例中,无论何时更改过滤器,您都必须对所有方法进行必要的更改,以拥有一致的报告系统。输入DTO验证逻辑
一些开发人员认为最好将验证规则和DTO类分开。我们认为声明式(数据注释)方法是实用和有用的,并且不会导致任何设计问题。但是,如果您喜欢其他方法,ABP也支持 FluentValidation集成。
有关所有验证选项,请参 阅验证文档。输出DTO最佳实践
如前所述,使用相同的输出DTO有许多优点。例如,设想一个场景,您在UI上显示一个Users数据网格。在更新用户之后,您可以获得返回值并在UI上更新它。你不需要再调用GetList。这就是为什么我们建议返回实体DTO(这里是UserDto)作为创建和更新操作的返回值讨论
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |