2016-10-25 6 views
1

У меня есть несколько уровней в моем решении:Automapper .NET MVC SPA Угловое 2 - как объединить конфигура

  • Бизнес
  • Data (Factory Data с возможностью выбора ADO.NET или EntityFramework)
  • REST (WebAPI)
  • Услуги
  • Web (ASP.NET MVC Угловое 2 SPA)

Я хочу привязать объекты EntityFramework к бизнес-объектам (DTO) из уровня Business (уровень данных), а также хочу сопоставить бизнес-объекты (DTO) с уровня Business с объектами API (уровень WebApi)

Проект WebApi делает не имеют ссылки на проект данных. Проекты Data и WebApi имеют ссылку на бизнес-проект.

У меня нет опыта работы с AutoMapper.

Если я инициализирую статический AutoMapper в проектах Data и WebApi, он, по-видимому, переопределяет статическую конфигурацию, и я теряю сопоставления. Это логично.

данных:

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 есть "Ассамблея Scanning" тема и пример, но я просто не могу заставить его работать.

Есть ли способ для AutoMapper «слить» конфигурации?

Что было бы лучшим способом объединить конфигурации сопоставления из разных библиотек классов без зависимостей вместе?

+0

Что вы не можете сделать работу с растровой сборки? Вы просто передаете ему сборки или типы в сборках. Развернутое приложение будет иметь все остальные сборки в нем, поэтому это должно быть тривиально. –

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^