Automapper вызывает ошибку: отсутствует конфигурация карты типов или не поддерживается отображение
Я новичок в Automapper.
Я добавил пакет Nuget - Automapper в свой слой диспетчера (BLL) и DAL.
Теперь, ниже, связанные вещи:
Ниже приведен статус менеджера библиотеки, который дает мне исключение:
this.dataRepository.Update(Mapper.Map<StudentMaster>(studentDTO));
Исключением является следующее:
Отсутствует конфигурация карты типов или неподдерживаемое отображение.
Типы картографирования:
studentDTO -> СтудентМастер
Admin.App.DTO.studentDTO-> Admin.App.DAL.StudentMaster
В случае запроса select/where на EF, он работает и может отображаться с помощью
.Project().To<TReturn>()
Я написал Autoconfiguration.cs
файл следующим образом:
public static class AutoMapperConfiguration
{
public static void Configure()
{
ConfigureStudentMasterMaps();
}
private static void ConfigureStudentMasterMaps()
{
Mapper.CreateMap<StudentMaster, studentDTO>();
}
}
Замечания:
Обе сущности - StudentMaster
(модель) сущность и StudentDTO
имеют одинаковые свойства.
Пожалуйста, объясните мне, как я могу решить эту проблему.
Благодарю вас
2 ответа
См. Начало работы https://github.com/AutoMapper/AutoMapper/wiki/Getting-started
CreateMap<**TSource, TDestination**>()
Вы должны добавить
Mapper.CreateMap<studentDTO, StudentMaster>();
После сопоставления вызова конфигурации
Mapper.AssertConfigurationIsValid();
У меня была похожая проблема, я забыл зарегистрироваться в Global.asax
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
AutoMapperConfig.RegisterMappings();
}
}