Automapper-展平对象属性

时间:2018-09-18 02:22:41

标签: automapper

假设我有

public class EFObject
{
    public int Id { get; set; }
    public int NavId { get; set; }
    public NavObject Nav { get; set; }
}

public class DTOObject
{
    public int Id { get; set; }
    public int NavId { get; set; }
    public string NavName { get; set; }
}

我的期望很高,我认为内置的展平应该可以解决这个问题,所以我的映射非常简单

CreateMap<DTOObject, EFObject>().ReverseMap();

不幸的是,由于DTOObject为空,所以无法将EFObject转换为EFObject.Nav。由于我使用了名称 NavId NavName ,因此我希望它创建一个新的 NavObject 并设置Nav.Id和{{1 }}。

我的问题:Automapper中有一项功能可以使我获得预期的结果,而不必在映射Nav时手动编写规则来创建NavObject财产?。

1 个答案:

答案 0 :(得分:0)

  

仅为ReverseMap配置了展平。如果要取消展平,则必须配置Entity-> Dto,然后调用ReverseMapDto-> Entity创建未展平的类型映射配置。 / p>

{p>如Automapper文档here

所述