我正在尝试将多个域模型映射到一个 View 模型。我发现this链接能够做到这一点。但是,我有几个 View 模型中不存在的域模型属性。当我尝试映射模型时,出现错误:
Missing type map configuration or unsupported mapping.
这是因为我没有忽略其他属性。我看到的所有答案都提到在 Mapper.CreateMap 函数上使用 option.Ignore() 。但是,在我提供的链接中,未使用 Mapper.CreateMap 函数。对 AutoMapper 的唯一调用是:
Mapper.Map(source, destination, sourceType, destinationType);
在这种情况下我该如何忽略?或者是否有更好的方法来映射多个模型并忽略属性?
最佳答案
对于您正在处理的所有对象,您的Application_Start
中应该有一个Mapper.CreateMap
:
Mapper.CreateMap<SourceDomain1, MyViewModel>();
Mapper.CreateMap<SourceDomain2, MyViewModel>();
Mapper.CreateMap<SourceDomain3, MyViewModel>();
域模型中具有 View 模型中不存在的属性这一事实根本不是问题。他们不会被考虑在内。另一方面,在配置 AutoMapper 时,您可以使用 .Ignore()
方法来指示应忽略源和目标中存在的某些属性。
关于c# - AutoMapper映射多个模型并忽略不存在的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21261918/