Comment puis-je remplacer le convertisseur de type utilisé par AutoMapper pour une propriété donnée?Comment spécifier un convertisseur de type spécifique pour une propriété donnée à l'aide d'AutoMapper
Par exemple, si j'ai:
public class Foo
{
public string Name { get; set; }
}
public class Bar
{
public string Name { get; set; }
}
Maintenant, je veux simplement la carte Foo.Name à Bar.Name mais en utilisant un convertisseur de type spécifié. Je vois comment je peux le faire en utilisant:
Mapper
.CreateMap<Foo,Bar>()
.ForMember(x => x.Name, opt => opt.ResolveUsing<FooNameResolver>());
Mais cela code en dur la conversion pour utiliser la propriété Name sur Foo. Si j'ai le même type de conversion sur d'autres propriétés dans cette classe ou dans d'autres, je dois créer une classe de résolution pour chacun d'eux.
Et je ne veux pas spécifier un convertisseur pour chaîne -> chaîne car cette conversion est spécifique à cette propriété ou à d'autres similaires. Je veux juste remplacer le convertisseur de type! Je suis sûr que cela doit être possible, mais je suis d'obturation sur elle :-(
Je suis après quelque chose comme ça.
Mapper
.CreateMap<Foo,Bar>()
.ForMember(x => x.Name, opt => opt.Using<MySpecialStringConverter>());