2017-02-06 33 views
-1

Я использую AutoMapper для сопоставления двух объектов. ViewModel и Model, где ViewModel реализует InotifyPropertyChanged. Как я могу сопоставить модель с ViewModel. Ниже мой сценарий,Исключение сопоставления автопараметров с помощью модели и частных свойств

  1. Модель

    общественного класса Model { общественная строка ResultType {получить; задавать; }}

  2. ViewModel

    общественного класса ViewModel: Screen { частная строка _resultType;

    public string ResultType 
    { 
        get { return _resultType; } 
        set 
        { 
         _resultType = value; 
         NotifyOfPropertyChange(() => ResultType); 
        } 
    } 
    

    }

  3. создать реализацию Карта

    mapper.CreateMap(); mapper.CreateMap(); mapper.AssertConfigurationIsValid();

    var test1 = new Model() {ResultType = "Test Result"}; 
        var s1 = mapper.Map<ViewModel>(test1); 
    

Я получаю AutoMapper Mapping исключение, когда я называю mapper.Map.

Отсутствует тип конфигурации карты или неподдерживаемое отображение. типы карт: Модель-> ViewModel Support.Model -> Support.ViewModel

+0

Пожалуйста показать свое отображение. – Rabban

ответ

1

Как уже упоминалось, вы на самом деле не показывает никакого кода отображения. Основываясь на том, что вы предоставили, сделать что-то вроде этого:

var config = new MapperConfiguration(cfg => { 
    cfg.CreateMap<Model, ViewModel>(); 
}); 

Вот рабочий пример: https://dotnetfiddle.net/YnZ1nw