使用模型和私有属性的自动映射例外异常

时间:2017-02-06 12:07:30

标签: properties model automapper viewmodel automapping

我正在使用AutoMapper来映射两个对象。 ViewModel和Model,其中ViewModel实现InotifyPropertyChanged。我如何将Model映射到ViewModel。以下是我的情景,

  1. 模型

    public class Model
    {
        public string ResultType { get; set; }
    }
    
  2. 视图模型

    public class ViewModel : Screen
    {
        private string _resultType;
    
        public string ResultType
        {
            get { return _resultType; }
            set
            {
                _resultType = value;
                NotifyOfPropertyChange(() => ResultType);
            }
        }
    }
    
  3. 创建地图实施

    mapper.CreateMap<Model, ViewModel>();
    mapper.CreateMap<ViewModel, Model>();
    mapper.AssertConfigurationIsValid();
    
    var test1 = new Model() {ResultType = "Test Result"};
    var s1 = mapper.Map<ViewModel>(test1);
    
  4. 当我调用mapper.Map时,我得到了AutoMapper Mapping Exception。

      

    缺少类型映射配置或不支持的映射。   映射类型:   模型 - &GT;视图模型   Support.Model - &gt; Support.ViewModel

1 个答案:

答案 0 :(得分:1)

如上所述,您实际上并未显示任何映射代码。根据您提供的内容,执行以下操作:

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

以下是一个有效的例子:https://dotnetfiddle.net/YnZ1nw