我目前已经构建了一个具有Web项目(controllers/views/scripts),服务项目(业务层,构建视图模型)和存储库项目(数据访问层)的MVC解决方案。在多个项目中配置AutoMapper
我以前在我的项目中使用过AutoMapper,并试图在此解决方案中配置AutoMapper。通常情况下,我将所有地图配置为MapperConfig.cs
,在Global.asax.cs
中调用。
我的问题是,我通常配置AutoMapper的web项目只能引用services项目,而services项目只能引用数据项目。所以,当我像往常一样去配置我的地图时,由于Web项目没有引用数据项目,我无法为数据项目定义地图。我需要一种方法来配置我的数据访问层映射,而无需为数据项目添加对Web项目的引用。
项目依赖图看起来像下面这样:
网络PROJ - >服务凸出 - >数据凸出
我怎样才能解决这个?
为什么你想只有一个配置自动映射器? 你真的有跨越所有层的类/ dtos吗? – ironstone13
我没有跨越我所有层的类。我一直无法找到一种方法来定义每个项目的地图 - 这正是我想要克服的。对于Ninject,我通过在每个项目中创建类从'NinjectModule'继承的类来实现这一点。如果您可以发布AutoMapper示例,我将很乐意接受 – GregH
如何使用静态构造函数来启动每个项目中的地图 - 请参阅https:// stackoverflow。com/questions/30136415/where-to-place-automapper-map-registration-in-referenced-dll – ironstone13