Automapper .NET MVC SPA Angular 2 - 如何合并配置

时间:2016-10-25 06:44:14

标签: model-view-controller automapper

我的解决方案中有多个层次:

  • 商业
  • 数据(能够选择ADO.NET或EntityFramework的数据工厂)
  • REST(WebApi)
  • 服务
  • Web(ASP.NET MVC Angular 2 SPA)

我想将EntityFramework实体从业务层(数据层)映射到业务实体(DTO),我还想将业务实体(DTO)从业务层映射到API实体(WebApi层)

WebApi项目没有对Data项目的引用。 Data和WebApi项目都引用了Business项目。

我以前没有使用AutoMapper的经验。

如果我在Data和WebApi项目中初始化静态AutoMapper,它显然会覆盖静态配置,我会丢失映射。这是合乎逻辑的。

数据:

Mapper.Initialize(cfg =>
{
    cfg.CreateMap<Section, SectionEntity>().ReverseMap();
});

的WebAPI:

Mapper.Initialize(cfg =>
{
    cfg.CreateMap<SectionEntity, ApiSection>().ForMember(dest => dest.Href, opt => opt.MapFrom(src => src.SectionId.ToSectionHref())).ReverseMap();
    //cfg.CreateMap<Section, SectionEntity>().ReverseMap();
});

我注意到在AutoMapper配置指南中有一个&#34;装配扫描&#34;主题和示例,但我无法使其发挥作用。

AutoMapper有没有办法合并&#34;合并&#34;配置?

将没有依赖关系的不同类库中的映射配置合并的最佳方法是什么?

0 个答案:

没有答案