繁体   English   中英

将具有相同名称的字段映射到automapper中的不同文件

[英]Map fields with same name to different fileds in automapper

我有一个模型,我试图从.net core 2.0中的Match类映射。 这两个类都有一个Name属性。

我需要映射Match.Value => ViewCompany.Name

但它总是将Match.Name放入ViewCompany.Name

这是我的AutomapperProfile

CreateMap<Match, ViewCompany>()
                .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Value));

.ForMember(dest => dest.Name ,opt => opt.MapFrom(src => src.Value ))

ViewCompany

public class ViewCompany
{
    public ViewCompany()
    {

    }

    public ViewCompany(string name)
    {
        this.Name = name;
    }

    public int Id { get; set; }

    public string Name { get; set; }
}

上面的映射不起作用。

但是,如果我将模型中的属性名称更改为“Value”或“tempName”之类的其他内容并更新automapper配置文件,则可以正常工作。

那么,是否无法将具有相同名称的属性映射到Automapper中的不同属性?

这里发生的是Name通过构造函数映射。 避免这种情况的一种简单方法是告诉AM使用什么构造函数:

 CreateMap<Match, ViewCompany>().ConstructUsing(source=>new ViewCompany());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM