У меня есть несколько уровней в моем решении: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 «слить» конфигурации?
Что было бы лучшим способом объединить конфигурации сопоставления из разных библиотек классов без зависимостей вместе?
Что вы не можете сделать работу с растровой сборки? Вы просто передаете ему сборки или типы в сборках. Развернутое приложение будет иметь все остальные сборки в нем, поэтому это должно быть тривиально. –