Intereting Posts
System.Net.ProtocolViolationException: вы должны писать байты ContentLength в stream запросов до вызова GetResponse Фильтр сжатия MVC 3, вызывающий искаженный вывод Недопустимый сквозной доступ FileSystemWatcher перестает захватывать события Какова правильная модель для Promise.defer? Как настроить .net-соединение teradata в c #? Как избежать предупреждения о безопасности Outlook при чтении сообщения Outlook из программы C # Преобразование двухзначного года в четырехзначный год доступ к изображениям с полным разрешением с камеры с помощью MonoDroid создание простого листа excel в c # со строками в качестве входных данных Как вы можете использовать два WSDL и поддерживать тестовый экземпляр с помощью приложения C #? Пользовательская команда не работает Newtonsoft Json сериализует class, в котором одним из свойств является JSON Ошибка активации произошла при попытке получить экземпляр типа LogWriter, ключ «»? Существует ли передовой подход к интернационализации приложения?

Обновлен AutoMapper от 3 до 4 сломанных карт наследования

Я обновил AutoMapper с 3.3.1 до 4.0.4, который разбил следующее сопоставление с этим сообщением

Невозможно наложить объект типа «Foo» на тип «BarDTO»

Классы

public class FooDTO { // omitted } // derived DTO public class BarDTO : FooDTO { public string Extra { get; set; } } 

Настройка отображения

 Mapper.CreateMap().ReverseMap(); Mapper.CreateMap(); 

картографирование

 Map(foo); // throws cast exception 

Я также попытался использовать метод .Include() , но не имел никакого значения.

 Mapper.CreateMap() .Include() .ReverseMap(); Mapper.CreateMap(); 

Я что-то делаю неправильно, или это ошибка?

Это известное изменение произошло с 3.xx до 4. Настройка отображения внутри Mapper.Initialize решит проблему.

например, отображение в 3.хх выполняется следующим образом:

 Mapper.CreateMap() .Include() .Include(); Mapper.CreateMap(); Mapper.CreateMap(); 

Теперь отображение 4.xx должно выполняться в методе Initialize с использованием делегата.

 Mapper.Initialize(cfg => { cfg.CreateMap() .Include() .Include(); cfg.CreateMap(); cfg.CreateMap(); }); 

Вот обсуждение, связанное с проблемой .

Update ver: исправлена ​​ошибка для отметки 4.1.0

В качестве альтернативы, вы можете сделать, это печать отображений.

 Mapper.Configuration.Seal();