AutoMapper映射多个模型并忽略不存在的属性

时间:2014-01-21 15:11:01

标签: c# automapper

我正在尝试将多个域模型映射到一个视图模型。我发现this链接可以做到这一点。但是,我有几个视图模型中不存在的域模型属性。当我尝试映射模型时,我收到错误:

  

缺少类型映射配置或不支持的映射。

这是因为我没有忽略其他属性。我看到的所有答案都在Mapper.CreateMap函数中使用了option.Ignore()。但是,在我提供的链接中,不使用Mapper.CreateMap函数。对AutoMapper的唯一调用是:

    Mapper.Map(source, destination, sourceType, destinationType);

在这种情况下如何进行忽略?或者有更好的方法来映射多个模型并忽略属性吗?

1 个答案:

答案 0 :(得分:5)

Mapper.CreateMap所有您要处理的对象应该有一个Application_Start

Mapper.CreateMap<SourceDomain1, MyViewModel>();
Mapper.CreateMap<SourceDomain2, MyViewModel>();
Mapper.CreateMap<SourceDomain3, MyViewModel>();

您的域模型中具有视图模型中不存在的属性的事实根本不是问题。它们不会被考虑在内。另一方面,您可以在配置AutoMapper时使用.Ignore()方法,以指示应忽略源和目标中存在的某些属性。