AutoMapper e convertire un datetime in stringa

Non riesco a capire la questione seguente. Ho la sensazione che sia una limitazione del LINQ e degli alberi di espressione, ma non sono sicuro di come accettare il corpo lambda. Posso ottenerlo senza creare un convertitore personalizzato?

Mapper.CreateMap() .ForMember(x => x.DateCreated, opt => opt.MapFrom(src => { var dt = (DateTime)src.DateCreated; return dt.ToShortDateString(); })); 

Sto ricevendo questo errore: Un’espressione lambda con un corpo di istruzioni non può essere convertita in un albero di espressioni

prova questo:

 Mapper.CreateMap().ForMember(x => x.DateCreated, opt => opt.MapFrom(src => ((DateTime)src.DateCreated).ToShortDateString())); 

Per utilizzare i corpi lambda, utilizzare .ResolveUsing invece di .MapFrom .

Secondo l’ autore :

MapFrom ha alcune cose extra che richiedono alberi di espressione (come il controllo nullo ecc.).

Quindi la tua affermazione sarebbe simile a questa:

  Mapper.CreateMap() .ForMember(x => x.DateCreated, opt => opt.ResolveUsing(src => { var dt = (DateTime)src.DateCreated; return dt.ToShortDateString(); }));