У меня есть модели ниже:
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; }
}
И я создаю DTO ниже:
public class OrderDto
{
public long OrderId { get; set; }
public IEnumerable<OrderItemDto> OrderItems { get; set; }
}
Как я могу сопоставить Order
с OrderDto
?
Я получил сообщение об ошибке ниже:
configuration.CreateMap<Order, OrderDto>()
.ForMember(desc => desc.OrderItems,
opt => opt.MapFrom(src => src.Order_OrderItems));
Я проверил другие связанные проблемы, и предложения связаны со свойством карты от одного к другому, но мой OrderItems
является свойством коллекции.Как я могу отобразить это?
Любая помощь будет оценена.
Обновление
Измените конфигурацию, как показано ниже:
configuration.CreateMap<Order_OrderItem, OrderItemDto>();
configuration.CreateMap<Order, OrderDto>()
.ForMember(desc => desc.OrderItems,
opt => opt.MapFrom(src => src.Order_OrderItems));
OrderItems
inOrderDto
будет null
при проверке результата:
var result = ObjectMapper.Map<OrderDto>(order);