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>();
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());
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());
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!