Automapper忽略自动展平

时间:2015-07-23 23:25:22

标签: c# automapper

我在遗留系统中有一个实体,其格式为

public Guid Id {get;set;}
public int Duration {get;set;}
public bool DurationType {get;set;}

在ViewModel中,我有以下内容

public Guid Id {get; set;}
public int Duration {get;set;}

从实体到视图模型的映射工作正常,但是当我尝试从ViewModel映射到实体时,它就会死掉。

它似乎正在尝试在反向映射中调用非现有属性Duration.Type(即它试图自动展平)。这会导致错误Cannot map int32 to bool

有没有人对如何在AutoMapper中禁用自动展平或手动设置映射恰好使用属性的字段有任何建议。

1 个答案:

答案 0 :(得分:2)

要从DurationType映射到ViewModel时将其忽略Entity属性,将其添加到映射配置中:

Mapper.CreateMap<ViewModel,Entity>()
      .ForMember(dest => dest.DurationType, options => options.Ignore());