2010-02-15 8 views
7

Y at-il un moyen d'obtenir Automapper à la carte un graphique source complexe comme:Est-ce que Automapper peut mapper un graphe source complexe sur une destination plate sans préfixe dans les propriétés de destination et sans mappage personnalisé?

public class Source { 
    public string Name { get; set; } 
    public SourceSub Sub { get; set; } 
} 

public class SourceSub { 
    public string ValA { get; set; } 
    public string ValB { get; set; } 
} 

vers une destination plat qui ressemble à:

public class Dest { 
    public string Name { get; set; } 
    public string ValA { get; set; } 
    public string ValB { get; set; } 
} 

Je sais que quelque chose comme cela fonctionnera pour une destination:

public class Dest { 
    public string Name { get; set; } 
    public string SubValA { get; set; } 
    public string SubValB { get; set; } 
} 

Cependant, je suis à la recherche d'un moyen de la carte à la destination sans nécessiter un préfixe dans les propriétés de destination (pour les enfants clas s dans la source) tant que les noms des propriétés de la classe enfant de la source correspondent aux noms des propriétés de destination. Existe-t-il un moyen de dire à Automapper de projeter des propriétés dans une classe enfant de la source vers une classe de destination plate sans mappage de chaque membre individuel?

+0

c'est une tâche facile pour le ValueInjecter, parce que vous pouvez faire avec n'importe quel algorithme de cartographie que vous pouvez imaginer http://valueinjecter.codeplex.com/documentation – Omu

+0

Est-ce que cela a changé au fil des ans? Ce serait génial de pouvoir faire quelque chose comme ceci: CreateMap (). ForSourceMember (s => s.Sub, o => o.DepuisBase ()) –

Répondre

1

Non, ce scénario n'est pas pris en charge pour le moment. Nous l'avons examiné pendant un certain temps, mais nous avons trouvé que le taux de collision de noms était trop élevé pour nos applications, et que le nom aplati préservait le contexte complet de l'origine de cette valeur.

+0

@Jimmy: Merci de répondre. Tout d'abord, laissez-moi vous dire que nous aimons AutoMapper. Merci pour votre contribution. Il serait bien d'ajouter une fonctionnalité à V2 pour prendre en charge une option de mappage des préfixes différents de ce que la classe enfant est nommée à l'objet aplati. Aussi, peut-être une option pour activer/désactiver ce que je suis en train de faire pour les cartes individuelles. Juste une demande, je sais qu'il y a beaucoup d'autres demandes dans votre file d'attente et celle-ci peut être en conflit ou être trop difficile. –

+0

Je voudrais aussi un moyen de pouvoir le faire. – Schneider