I have models below:
public class Order
{
public long OrderId { get; set; }
public ICollection<Order_OrderItem> Order_OrderItems { get; set; }
}
public class Order_OrderItem
{
public long OrderId { get; set; }
public virtual Order Order { get; set; }
public int OrderItemId { get; set; }
public virtual OrderItem OrderItem { get; set; }
}
And I create DTO below:
public class OrderDto
{
public long OrderId { get; set; }
public IEnumerable<OrderItemDto> OrderItems { get; set; }
}
How could I map Order
to OrderDto
?
I got error with below:
configuration.CreateMap<Order, OrderDto>()
.ForMember(desc => desc.OrderItems,
opt => opt.MapFrom(src => src.Order_OrderItems));
I checked other related issues, and suggestions are related with map property from one to another, but my OrderItems
is a collection property. How could I map it?
Any help would be appreciated.
Change configuration like below:
configuration.CreateMap<Order_OrderItem, OrderItemDto>();
configuration.CreateMap<Order, OrderDto>()
.ForMember(desc => desc.OrderItems,
opt => opt.MapFrom(src => src.Order_OrderItems));
The OrderItems
in OrderDto
will be null
when checking the result:
var result = ObjectMapper.Map<OrderDto>(order);
Map from OrderItem
to OrderItemDto
:
configuration.CreateMap<OrderItem, OrderItemDto>();
Map from Order
to OrderDto
:
configuration.CreateMap<Order, OrderDto>()
.ForMember(dest => dest.OrderItems,
opt => opt.MapFrom(src => src.Order_OrderItems.Select(o => o.OrderItem)));
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.