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

jan*_*naj 2 c# automapper

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

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

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

    Mapper.Map(source, destination, sourceType, destinationType);
Run Code Online (Sandbox Code Playgroud)

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

Dar*_*rov 5

你应该Mapper.CreateMap在你Application_Start所有对象中都有一个:

Mapper.CreateMap<SourceDomain1, MyViewModel>();
Mapper.CreateMap<SourceDomain2, MyViewModel>();
Mapper.CreateMap<SourceDomain3, MyViewModel>();
Run Code Online (Sandbox Code Playgroud)

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