我有一个像这样的简单模型:
public class Order{
public int Id { get; set; }
... ...
public IList<OrderLine> OrderLines { get; set; }
}
public class OrderLine{
public int Id { get; set; }
public Order ParentOrder { get; set; }
... ...
}
我用 Automapper 做的是这样的:
Mapper.CreateMap<Order, OrderDto>();
Mapper.CreateMap<OrderLine, OrderLineDto>();
Mapper.AssertConfigurationIsValid();
它抛出一个异常: “OrderDto 中的属性 OrderLineDtos 未映射,添加自定义映射...” 当我们在 Domain 和 DomainDto 中使用自定义语法时,我如何指定 OrderDto 中的集合 OrderLineDtos 对应于 Order 中的 OrderLines?
谢谢
最佳答案
它的工作方式是这样的:
Mapper.CreateMap<Order, OrderDto>()
.ForMember(dest => dest.OrderLineDtos, opt => opt.MapFrom(src => src.OrderLines));
Mapper.CreateMap<OrderLine, OrderLineDto>()
.ForMember(dest => dest.ParentOrderDto, opt => opt.MapFrom(src => src.ParentOrder));
Mapper.AssertConfigurationIsValid();
关于C# automapper 嵌套集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1789925/