Maison >développement back-end >C++ >Comment ignorer les propriétés lors des mappages AutoMapper ?
Lorsque vous travaillez avec Automapper, il peut être nécessaire d'exclure certaines propriétés du mappage entre les objets source et de destination. Cela peut se produire lorsque l'objet de destination contient des propriétés en lecture seule ou calculées qui ne seraient pas adaptées au mappage à partir de la source.
Un de ces scénarios est celui où l'objet source (par exemple, OrderModel) possède une propriété (ProductName). qui n'est pas présent dans l'objet de destination (par exemple, les commandes). Tenter d'effectuer le mappage avec :
Mapper.CreateMap<OrderModel, Orders>();
entraînera une exception indiquant que la propriété ProductName n'est pas mappée.
Pour empêcher Automapper de tenter de mapper la propriété ProductName, utilisez l'option Ignore( ) :
CreateMap<OrderModel, Orders>().ForMember(x => x.ProductName, opt => opt.Ignore());
Alternativement, dans les versions d'AutoMapper après 8.0, la méthode Ignore() a été remplacée with DoNotValidate() :
CreateMap<OrderModel, Orders>().ForMember(x => x.ProductName, opt => opt.DoNotValidate());
En spécifiant l'option Ignore() ou DoNotValidate(), Automapper exclura la propriété ProductName du processus de mappage, résolvant l'exception et permettant au mappage de se dérouler avec succès.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!