您是否需要实体框架实体映射到数据传输对象?

时间:2014-12-16 20:57:46

标签: c# entity-framework domain-driven-design

这些天我正在阅读Domain Driven Desing。应用程序是C#编程。所以我对层之间的数据传输对象感到有点困惑。

  • Daoman图层(包括域对象)
  • 服务层
  • 数据层(实体框架)
  • 网络用户界面

为什么我需要为这些图层创建DTO?哪一层包括DTO,每层都包含自己的DTO?

2 个答案:

答案 0 :(得分:1)

顾名思义,DTO是仅传输数据的对象。它们不属于任何特定层,它是将数据从一个层或上下文传递到另一个层的方式。您正在使用DTO,因此您不使用该上下文的对象,这些对象模拟特定于上下文的概念。这样,一个层不会耦合到另一个层,并且它们的模型不会被暴露(因为图层/上下文模型在该上下文之外没有意义)。

答案 1 :(得分:0)

这个问题很快就会被关闭(过于宽泛和主观),可能应该在程序员交流中提出。但是,我可以告诉你我们做了什么。我们所有的DTO对象都在数据层创建。所有到和来的映射都在该层。数据层上方的所有代码都使用DTO对象。在经历了许多不同的替代和失败之后,这对我们来说是最好的。