Automapper 嵌套关系 "back" 映射

Automapper nested relationship "back" mapping

假设我有一个嵌套的 DTO,就像这样(实际上它要复杂得多):

public class OrderDTO
{
    public int Id { get; set; }
    public List<ItemDTO> Item { get; set; }
}

public class ItemDTO
{
    public int Id { get; set; }
}

映射到:

public class Order
{
    public int Id { get; set; }
    public List<Item> Item { get; set; }
}

public class Item
{
    public int Id { get; set; }
    public Order Order { get; set; }
}

当从 OrderDTO 向下映射到 Order 时,我希望 Item 中的 Order 属性 引用它的顺序,以使类似 var order = item.Order; 的事情成为可能。

有什么方法可以在映射时做到这一点?另外,是否可以为我所有的嵌套映射配置它?

使用 BeforeMap 您可以将父对象保存在 context.Items 中,然后在解析器中使用该值作为父引用。如果您尊重命名约定,则可以使用 ForAllMaps 将其应用到任何需要的地方。