She*_*Dev 9 asp.net-mvc entity-framework dto repository-pattern viewmodel
在我的项目中,我正在使用EF Code First方法.我有一个存储库层,服务层和表示层(ASP.NET MVC).我正在为每个视图使用专用的视图模型.
我感到困惑的是,我的服务应该将实体返回到控制器以将它们映射到视图模型,还是应该实现DTO并从服务返回它们?
所以问题是当流程类似于"EF - >存储库 - >服务 - > UI"时,数据转换将是什么."实体 - > DTO - > Viewmodel"或"实体 - > Viewmodel"?
看起来如果我使用DTO,它们会有点重复实体.
我正在努力遵循最佳做法.
谢谢.
这很难说,因为这完全取决于您的应用程序及其复杂性。如果您有很多转换,我会建议使用 DTO,如果不是只是从实体转换到 ViewModel。
一般来说,我会从尽可能少的转换开始。当事情变得复杂时,您仍然可以在中间添加另一层。请记住,添加抽象层比删除抽象层更容易。