Maison >développement back-end >C++ >Comment ignorer les propriétés lors des mappages AutoMapper ?

Comment ignorer les propriétés lors des mappages AutoMapper ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-27 09:46:11629parcourir

How to Ignore Properties During AutoMapper Mappings?

Ignorer les propriétés dans les 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn