为了账号安全,请及时绑定邮箱和手机立即绑定

将具有相同名称的字段映射到自动映射器中的不同字段

将具有相同名称的字段映射到自动映射器中的不同字段

C#
万千封印 2022-11-21 22:12:50
我有一个模型,我试图从 .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 ))查看公司: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 中是不是不能将同名的属性映射到不同的属性呢?
查看完整描述

1 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

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

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


查看完整回答
反对 回复 2022-11-21
  • 1 回答
  • 0 关注
  • 55 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信