So che sono state poste varie domande che assomigliano a questa domanda, ma per quanto posso dire (e testare), nessuna delle soluzioni fornite sembra adattarsi, quindi ecco qui.Denormalizza la gerarchia di oggetti con automapper
Mi chiedo se sia possibile appiattire/denormalizzare una gerarchia di oggetti in modo che un'istanza con un elenco di proprietà nidificate sia mappata a un elenco di alcuni tipi di destinazione utilizzando AutoMapper.
ho una classe di origine che sembra qualcosa di simile
Fonti:
public class DistributionInformation
{
public string Streetname;
public RouteInformation[] Routes;
}
public class RouteInformation
{
public int RouteNumber;
public string RouteDescription;
}
Destinazione:
public class DenormDistributionInfo
{
public string Streetname;
public int RouteNumber;
public string RouteDescription;
}
così voglio mappare le due fonti a un elenco di destinazione denormalizzato DenormDistributionInfo.
cioè:
IEnumerable<DenormDistributionInfo> result = Mapper.Map(distributionInformationInstance);
Che è possibile/fattibile utilizzando automapper, o dovrei cedere e denormalise esso "manualmente"?
IMO, l'utilizzo di Automapper oltre il caso molto semplice di tipi di mapping con proprietà identiche tra loro è un abuso di Automapper.La tentazione diventa nascondere tutti i tipi di logica dell'applicazione nei mapping, a quel punto, hai creato un sistema più difficile da capire rispetto a un approccio più convenzionale. (Divulgazione: Non mi piace Automapper ... [Gli amici non lasciano che gli amici usino Automapper] (http://www.uglybugger.org/software/post/friends_dont_let_friends_use_automapper).) – spender