在哪个层中应包含AutoMapper配置

本文关键字:包含 AutoMapper 配置 | 更新日期: 2023-09-27 17:58:17

哪个层应该包含AutoMapper配置?

AutoMapper是将ViewModels映射到我的域实体。

我的应用程序有三层:域、UI(MVC)和基础结构。

在哪个层中应包含AutoMapper配置

它应该位于它要转换到/来自的最顶层。

若您在域和infra之间有映射器,那个么它们应该位于域中(假设使用infra)。

如果您在UI和域之间有映射器,那么它们应该位于UI中(假设使用域)。

这意味着下层不知道或需要知道上层的情况。

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

不过,基本上,您只能在DomainModel和ViewModel都已知的地方调用AutoMapper配置。由于基础结构不应该依赖于ViewModels,所以应该在ViewModels(无论如何都依赖于域模型)或UI层(将是MVC中的控制器)中进行映射。