假设我有
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财产?。
答案 0 :(得分:0)
{p>如仅为
ReverseMap
配置了展平。如果要取消展平,则必须配置Entity
->Dto
,然后调用ReverseMap
从Dto
->Entity
创建未展平的类型映射配置。 / p>
Automapper
文档here 所述