Sto creando un mapping Automapper tra il mio AccountEditViewModel
(Visualizza modello utilizzato per la modifica di un utente) e il mio User
(Modello dati che rappresenta un utente nel database). Se il campo della password è compilato, voglio crittografare quella password e memorizzarla tuttavia se è nullo nel Voglio mantenere la vecchia password. Ho provato il codice qui sotto, ma è sbagliato, model.Ignore() non restituisce un valore stringa. Qual è il modo migliore per farlo. Posso farlo usando il metodo ForMember()
o ho bisogno di un resolver personalizzato?C# Automapper Ignora proprietà quando Null
Mapper.CreateMap<AccountEditViewModel, User>()
.ForMember(model => model.Password, model => model.MapFrom(user => user.Password != null ? EncryptPassword(user.Password) : model.Ignore()));
è necessario aggiungere un ForMember (modello => model.Password, modello => model.Ignore()) prima del AfterMap() chiamare il mapper non è più gestione della mappatura –
Questo non funziona quando si usano le espressioni LinQ dell'automaer. – AgentFire