哪个层应包含AutoMapper配置?

时间:2011-06-03 19:21:16

标签: c# .net automapper n-tier-architecture

哪个图层应包含AutoMapper配置?

AutoMapper将ViewModel映射到我的域实体。

我的应用程序中有三个层:域,UI(MVC),基础架构。

2 个答案:

答案 0 :(得分:5)

它应该存在于它转换为的最顶层。

如果你在域和infra之间有mappers,那么它们应该存在于域中(假设使用infra)。

如果你有UI和域之间的地图制作器,那么它们应该存在于UI中(假设使用域)。

这意味着下层不知道或不需要了解更高层。

答案 1 :(得分:2)

将视图模型映射到域模型的位置通常是MVC体系结构中的控制器。现在你没有对你的架构说太多,“UI”和“Infra”也不是很具体。

但是,基本上,只能在已知DomainModel和ViewModel的位置调用AutoMapper配置。由于基础结构不应该依赖于ViewModel,因此您应该在ViewModel(依赖于域模型)或UI层(可能是MVC中的控制器)中进行映射。