1

I have a Model an ViewModel Like this, but AutoMapper doesn't pass the values from MyViewModel to MyModel!

MyModel:

public List<string> ContentLinks { get; set; }
public string ListOfContentLinks {
    get
    {
        return String.Join(";", ContentLinks);
    }
    set {
        ContentLinks = value.Split(';').ToList();
    } 
}

MyViewModel:

public List<string> ContentLink { get; set; }

Boostrapper:

Mapper.CreateMap<MyViewModel, MyModel>();

What do I have to do to make the mapping work correctly?

Justin Nimmo
  • 125
  • 12
Omar AMEZOUG
  • 958
  • 2
  • 14
  • 38

2 Answers2

1

properties must have the same name for the default mapping. You have ContentLinks in one case and ContentLink in another

Dmitry Efimenko
  • 10,973
  • 7
  • 62
  • 79
1

If you don't want to have properties with same name, then use custom mapping for that member:

Mapper.CreateMap<MyViewModel, MyModel>()
      .ForMember(d => d.ContentLinks, opt => opt.MapFrom(s => s.ContentLink));
Sergey Berezovskiy
  • 232,247
  • 41
  • 429
  • 459