正确使用AutoMapper

时间:2016-11-05 12:50:35

标签: c# automapper

我正在尝试学习如何使用AutoMapper,我试图弄清楚如何使用而不必耦合不同的图层。

示例,我有DataLayer,BusinessLayer和UILayer。 要从DataLayer转移/映射到BusinessLayer,我必须在BusinessLayer中引用DataLayer Entites。 如果我尝试从BusinessLayer转移/映射到UILayer,也会发生同样的情况,在这种情况下,我需要从UILayer引用BusinessLayer。

这里的解决方案似乎是我们需要在所有层之间进行额外的组装(通用/共享),这样可以自动执行此操作,而无需将DataLayer,BusinessLayer和UILayer相互耦合......

不确定如何做到这一点,我可以使用的任何一个例子?一般来说这个问题是如何解决的?

1 个答案:

答案 0 :(得分:1)

除非你颠倒了图层之间的依赖关系,否则它看起来并不那么糟糕。

在您的业务层中引入UI依赖项会很难看,但由于UI层位于业务层之上,因此您可以混合 UI和业务层。

在一天结束时, AutoMapper 取代了您手动执行的操作:将对象从一个对象逐个设置为另一个对象。 如果您在没有AutoMapper的情况下执行此操作会怎么样?我相信您需要在 UI层中引用业务层才能执行此操作映射。