簡體   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