哪个图层应包含AutoMapper配置?
AutoMapper将ViewModel映射到我的域实体。
我的应用程序中有三个层:域,UI(MVC),基础架构。
答案 0 :(得分:5)
它应该存在于它转换为的最顶层。
如果你在域和infra之间有mappers,那么它们应该存在于域中(假设使用infra)。
如果你有UI和域之间的地图制作器,那么它们应该存在于UI中(假设使用域)。
这意味着下层不知道或不需要了解更高层。
答案 1 :(得分:2)
将视图模型映射到域模型的位置通常是MVC体系结构中的控制器。现在你没有对你的架构说太多,“UI”和“Infra”也不是很具体。
但是,基本上,只能在已知DomainModel和ViewModel的位置调用AutoMapper配置。由于基础结构不应该依赖于ViewModel,因此您应该在ViewModel(依赖于域模型)或UI层(可能是MVC中的控制器)中进行映射。