Отсутствует конфигурация карты типов или неподдерживаемое отображение AutoMapper - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть этот код:

public ActionResult Details(string id, string detailsDate)
{
    if (id == null)
    {
        return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
    }

    var tblPersonnel = new tblPersonnel();

    using (var _context = new ScalehouseModel()) // for disposing
    {
        tblPersonnel = _context.tblPersonnels.Find(id);
    }


    if (tblPersonnel == null)
    {
        return HttpNotFound();
    }

    Mapper.Initialize(config => config.CreateMap<tblPersonnel, PersonnelDetailsVm>());
    PersonnelDetailsVm person = Mapper.Map<tblPersonnel, PersonnelDetailsVm>(tblPersonnel);

.... // and more but the error happens on the line above.

}

После успешного выполнения AJAX я перенаправляю на страницу сведений, действие которой вы можете увидеть выше.Я получаю ошибки во время выполнения, например:

enter image description here

Я исследовал этот и утилизировал свой EF, но все еще не работает иполучить ту же ошибку.

Что мне нужно сделать, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 25 сентября 2018

Для того, чтобы работал автоматический маппер, лучше всего добавить конфигурацию автоматического маппера в конвейер.Вот как вы можете сделать

Шаг 1: Создать статический профиль отображения классов и добавить все ваши отображения в этот класс

public static class MappingProfile
{
    public static MapperConfiguration InitializeAutoMapper()
    {
        MapperConfiguration config = new MapperConfiguration(cfg =>
        {
            cfg.CreateMap<tblPersonnel, PersonnelDetailsVm>();
        });
        return config;
    } 
}

Шаг 2: Порядок настройки, зарегистрировать конфигурацию автоматического преобразователя вМетод Application_Start () в Global.asax.cs

 protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
        //Add AutoMapper configuration here.
        MappingProfile.InitializeAutoMapper();
    }

Попробуйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...