Maison > développement back-end > C++ > Comment ignorer les propriétés non mappées dans AutoMapper ?

Comment ignorer les propriétés non mappées dans AutoMapper ?

Barbara Streisand
Libérer: 2025-01-03 18:39:41
original
438 Les gens l'ont consulté

How to Ignore Unmapped Properties in AutoMapper?

Ignorer le mappage des propriétés non mappées avec Automapper

Lors du mappage entre deux classes à l'aide d'Automapper, il est possible de rencontrer des scénarios dans lesquels une ou plusieurs propriétés dans la classe source n'est pas présente dans la classe de destination. Cela peut entraîner des exceptions pendant le processus de mappage.

Considérons l'exemple suivant :

class OrderModel { public string ProductName; }
class Orders { }

CreateMap<OrderModel, Orders>();
Copier après la connexion

Dans ce cas, tenter de mapper le OrderModel à la classe Orders entraînera une exception indiquant que la propriété ProductName sur OrderModel n'est pas mappée. Pour résoudre ce problème et empêcher Automapper de tenter de mapper des propriétés non mappées, vous pouvez utiliser la méthode ForMember en combinaison avec Ignore.

CreateMap<OrderModel, Orders>()
    .ForMember(x => x.ProductName, opt => opt.Ignore());
Copier après la connexion

En spécifiant Ignore comme option, Automapper ignorera le mappage de la propriété ProductName. . Cela permet au processus de cartographie de se poursuivre sans rencontrer d'exceptions.

Mise à jour : DoNotValidate au lieu d'ignorer

Dans AutoMapper 8.0, l'option Ignorer a été remplacée par DoNotValidate. Par conséquent, l'extrait de code ci-dessus doit être mis à jour comme suit :

CreateMap<OrderModel, Orders>()
    .ForMember(x => x.ProductName, opt => opt.DoNotValidate());
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal