CreateMap<Customer, CustomerStubDTO>();
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; }
}
그리고 다음과 같은 매핑 :AutoMapper가 지원되지 않는 다형성?
CreateMap<Order, OrderDTO>();
CreateMap<Customer, CustomerDTO>();
이것은 작동하지 않습니다. AutoMapper는 대신 다음과 같은 매핑을 원합니다 :
CreateMap<Customer, CustomerStubDTO>();
하지만 원하는 바입니다. OrderDTO.Customer
대신 CustomerDTO의 인스턴스를 포함하여 Name
속성에 액세스 할 수 있도록해야합니다.
소스 클래스에 다른 파생 클래스가있는 경우이 동작에 .Include<TSource, TDestination>
을 사용할 수 있었지만 독립형이 아닌 경우에는 사용할 수있었습니다. (예를 들어, CustomerStubDTO에 해당하는 CustomerStub와 CustomerDTO에 해당하는 Customer가있는 경우)
다음과 같은 경우는 작동하지 않습니다.
CreateMap<Customer, CustomerStubDTO>().Include<Customer, CustomerDTO>();
아이디어가 있습니까?
안녕하세요, 전 똑같은 문제가 있습니다. 어딘가에 해결책을 제출할 수 있습니까? – zidane