Здесь мой код:
Mapper.CreateMap<Foo, Foo2>()
.ForMember(dest => dest.Bar, opt => opt.MapFrom(src => src.Bar == null ? new BarViewModel() : src.Bar))
В принципе, "BarViewModel" имеет без параметров ctor, который устанавливает свойства в классе.
Итак, я пытаюсь сказать AutoMapper:
Если значение равно null, используйте ctor для класса. в противном случае используйте сопоставление, которое у вас есть.
Вышеупомянутое дает мне ошибку компилятора С#. И я предполагаю, что актер тоже не будет работать.
Итак, есть ли трюк AutoMapper?
В худшем случае я мог удалить это сопоставление для этого свойства и просто сделать:
var mapped = Mapper.Map<Foo,Foo2>(src);
if (mapped.Bar == null) mapped.Bar = new BarViewModel();
Но это немного уродливое.
Идеи?