我试图将多个域模型映射到一个视图模型.我发现这个链接能够做到这一点.但是,我有几个视图模型中不存在的域模型属性.当我尝试映射模型时,我收到错误:
缺少类型映射配置或不支持的映射.
这是因为我没有忽略其他属性.我看到的所有答案都在Mapper.CreateMap函数中使用了option.Ignore().但是,在我提供的链接中,不使用Mapper.CreateMap函数.对AutoMapper的唯一调用是:
Mapper.Map(source, destination, sourceType, destinationType);
Run Code Online (Sandbox Code Playgroud)
在这种情况下如何忽略?或者有更好的方法来映射多个模型并忽略属性吗?
你应该Mapper.CreateMap在你Application_Start的所有对象中都有一个:
Mapper.CreateMap<SourceDomain1, MyViewModel>();
Mapper.CreateMap<SourceDomain2, MyViewModel>();
Mapper.CreateMap<SourceDomain3, MyViewModel>();
Run Code Online (Sandbox Code Playgroud)
您在域模型中具有视图模型中不存在的属性这一事实根本不是问题.它们不会被考虑在内.另一方面,您可以.Ignore()在配置AutoMapper时使用该方法,以指示应忽略源和目标中存在的某些属性.
| 归档时间: |
|
| 查看次数: |
888 次 |
| 最近记录: |