Я пишу какое-то приложение Web API, где у меня есть 4 основных уровня - API, BusinessLogic (который я называю BusinessServices), DAL (который использует EF для общения с базой данных) и EntitiesData (где у меня есть мои сущности).
API вызывает businessService, bs спрашивает DAL, DAL с помощью EF запрашивает базу данных о моих EntitiesData.
Хорошо, теперь в чем проблема;)
На BusinessServices я хочуотобразить сущности в некоторый DTO, который я могу вернуть в API.Я хотел использовать AutoMapper, но на уроках есть очень простые примеры, которые я понимаю.
Первый вопрос: я должен использовать 2 контейнера IoC?Или, может быть, перенести мой IOC из API на уровень бизнес-сервисов?Первый контейнер находится на уровне API и содержит BusinessServices (например, UsesrsService, MessageService и т. Д.). Второй контейнер находится на уровне BusinessServices - я хочу использовать его для хранения карт AutoMapper.
И это второйВопрос - что мне делать с AutoMapper.Я знаю, как создать конфигурацию, вот так:
private void Congifure()
{
if(!(configuration == null))
return;
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap<User, UserDto>();
cfg.CreateMap<Message,MessageDto>();
});
}
но что мне теперь делать?упаковать его в контейнер IoC?Из какого места в коде я должен назвать мой класс, который настраивает mapper?В businessServices у меня есть только мои классы бизнес-логики и DTO.