所以这个问题很简单,但我只是看不到解决方案。多项目解决方案中的1个以上的AutoMapper配置
在我的解决方案我有一个DAL层(类库),一个DTO层(类库)和MVC项目。
的想法是,在MVC应用程序从DTO层,进而从DAL层变项要求的项目。够简单。
在DTO层我有一个情境仓库来管理它们。因此,MVC应用程序创建了DTO上下文的一个实例,然后从相应的存储库中获取DTO实体。
现在的问题。
在我使用AutoMapper到底层实体映射到DTO的,而在MVC应用程序我计划再次使用到的DTO到的ViewModels和背部映射DTO层。
因此,在DTO层的上下文的构造函数中,我调用静态RegisterMappings()
来注册底层实体和DTO之间的映射。目前没有问题。
但是在MVC应用程序的Global.asax
我也呼吁RegisterMappings()
(来自不同类的人在DTO层),然而当我尝试从MVC应用程序,我得到了Missing type map configuration or unsupported mapping
异常的视图模型到DTO映射。
查看AssertConfigurationIsValid()
引发的异常,我可以看到automapper仍在查看DAL和DTO层之间的映射,而不是预期的DTO和MVC应用层。
那么,如何在2个独立的项目中使用automapper没有得到映射的这种“流血”效果相同的解决方案中?
任何想法非常赞赏。
您是否在使用AutoMapper 5或更高版本?然后我认为你可以单独存储每个配置,而不是使用静态的Mapper调用,使用'config.CreateMapper();'为每个图层创建一个映射器。 – stuartd
@stuartd改变一个答案小伙子。为我完美工作。 –
完成,谢谢... – stuartd