ho qualche codice di mappatura come segueIn automapper è possibile applicare lo stesso valore resolver a più membri
Mapper.CreateMap<CalculationQueryResult, CalculationViewModel>()
.ForMember(poco => poco.NomineeFee,
opt => opt.ResolveUsing<FormattedCurrencyInt>()
.FromMember(m => m.NomineeFee))
.ForMember(poco => poco.TotalContributions,
opt => opt.ResolveUsing<FormattedCurrencyInt>()
.FromMember(m => m.TotalContributions))
.ForMember(poco => poco.EquityInjection,
opt => opt.ResolveUsing<FormattedCurrencyInt>()
.FromMember(m => m.EquityInjection))
// ... SNIP Lots more members mapped with Formatted Currency Resolver
Come potete vedere sto mappando più membri che utilizzano lo stesso risolutore per convertire un numero intero in una valuta formattato stringa. Lo sto facendo per la stragrande maggioranza ma non tutti i membri della mia scarsa classe.
Tutti questi membri eseguiranno il mapping utilizzando la mappatura basata sulla convenzione se non fosse necessario continuare a ripetere questi tipi. È una quantità enorme di codice da scrivere per un compito semplice.
Esiste un modo per sovrascrivere il comportamento predefinito per la conversione di un int in una stringa per una singola mappa e quindi fare personalizzato. Per membri dove voglio qualcosa di diverso. Come ad esempio questo:
Mapper.CreateMap<CalculationQueryResult, CalculationViewModel>()
.SetDefault<int,string>(opt => opt.ResolveUsing<FormattedCurrencyInt>())
.ForMember(poco => poco.Count, x=>x.MapFrom(s => s.Count.ToString()));
Utilizza il link di modifica nella tua domanda per aggiungere ulteriori informazioni. Il pulsante Post risposta deve essere utilizzato solo per risposte complete alla domanda. - [Dalla recensione] (/ recensione/post di bassa qualità/10488443) –
A volte la risposta è "non è possibile". Questa risposta non aggiunge nulla di più alla mia domanda. L'altra risposta offerta non risponde nemmeno alla mia domanda. – Twisted
Allora perché hai postato la risposta se non aggiungeva nulla? Alcuni di noi qui esamineranno le risposte di bassa qualità e fare commenti su di loro. Questo è parte di come funziona questo sito in cui suggerirei di inserire qualche spiegazione o giustificazione sul motivo per cui pensi che altrimenti sarebbe solo un'opinione e tutti ne avranno uno. "Penso di poter volare" sarebbe qualcosa che potrei affermare e senza aggiungere altro potrebbe essere vero o falso. Se sono in elicottero o in aereo, allora potrei volare bene mentre se provassi a sbattere le braccia per volare che non funzionerebbe così bene è il perché. –