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

标签 c# automapper

我正在尝试将多个域模型映射到一个 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/

相关文章:

.net - 嵌套映射的 AutoMapper 展平要求自定义解析器

c# - AutoMapper map 中 foreach 的额外迭代

c# - AutoMapper 扁平化扩展方法

c# - 如何在嵌套 AutoMapper Project().To<>() 后执行 LINQ 操作

c# - 预编译的 Azure 函数和 CloudTable 绑定(bind)输出不起作用

c# - 个人 Silverlight 项目的 F# 或 C#?

c# - 自动完成组合框 C#

c# - 将 char * 参数传递给 C# 函数

c# - 无法解析非 ASP.NET Core 应用程序中类型 IOptions [DataAccessConfiguration] 的服务

c# - 为什么 AutoMapper 不能正确格式化我的日期?