最近,我听到了很多有关DTO及其用途的信息,但是我找不到在ASP.NET上下文中使用DTO的好例子。
假设我使用三层架构:
我应该从EF Employee对象转换为EmployeeDTO POCO?
可以说我在数据访问层中进行了转换,但是WCF服务中会发生什么呢?然后应该将其转换为另一个DataMember
对象,并且当其到达UI层(MVC Web应用程序)时是否应该将其第三次转换为模型?如果有人可以帮我解决这个问题,我将不胜感激
在类似的情况下,我曾经将dto放入这三个人都知道的Core中。所以你有了
核 | ------------ | | | DAL BL PL
每层都可以使用Core.Dto.Employee
。每层还在Core.Dto.Employee
其API中对外公开。但是在内部,每个层都可以进行转换/调整Core.Dto.Employee
,例如,您从数据库中读取内容EF.Employee
,然后将其转换为Core.Dto.Employee
。转换包含在图层的边界中。
如果您有多个不同的模型在各个层上表示同一事物,例如PL想要PL.Employee
和DAL进行操作EF.Employee
,那么您将陷入混乱。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句