On suppose la hiérarchie des objets suivants:AutoMapper polymorphisme non pris en charge?
class Customer
{
int Id { get; set; }
string Name { get; set; }
}
class CustomerStubDTO
{
int Id { get; set; }
}
class CustomerDTO : CustomerStubDTO
{
string Name { get; set; }
}
class Order
{
Customer Customer { get; set; }
}
class OrderDTO
{
CustomerStubDTO Customer { get; set; }
}
Et le mapping suivant:
CreateMap<Order, OrderDTO>();
CreateMap<Customer, CustomerDTO>();
Cela ne fonctionne pas, AutoMapper veut une application comme ce qui suit à la place:
CreateMap<Customer, CustomerStubDTO>();
Mais je veulent OrderDTO.Customer
pour contenir une instance de CustomerDTO à la place, donc j'ai accès à la propriété Name
, entre autres des choses.
J'ai pu utiliser .Include<TSource, TDestination>
pour ce comportement lorsque la classe source a d'autres dérivées, mais pas lorsqu'elle est autonome. (Par exemple, s'il y avait un CustomerStub correspondant à CustomerStubDTO et client correspondant à CustomerDTO)
Ce que cela signifie est que ce qui suit ne fonctionne pas non plus:
CreateMap<Customer, CustomerStubDTO>().Include<Customer, CustomerDTO>();
Toutes les idées?
Salut, je suis exactement le même problème, pouvez-vous soumettre votre solution quelque part? – zidane