如何使用AutoMapper创建新字段?

时间:2019-06-11 23:04:30

标签: c# automapper-6

如下图所示,我想在C#中映射对象时创建新字段并替换其他字段

public class one 
{
   public int a {get; set;}
   public int b {get; set;}
   public int c {get; set;}
}

public class two
{
   public int sum {get; set;} //sum = a + b +c ;
}

Mapper.Initialize(cfg =>
{
    cfg.CreateMap<one, two>();//?????mapping sum = a+b+c;
});

请问有什么想法吗?

1 个答案:

答案 0 :(得分:1)

使用Inline Mapping;

(请注意,您的类和属性应以大写字母开头)

public class One 
{
  public int A {get; set;}
  public int B {get; set;}
  public int C {get; set;}
}

public class Two
{
  public int Sum {get; set;} //sum = a + b +c ;
}

cfg.CreateMap<One, Two>()
  .ForMember(dest => dest.Sum, m => m.MapFrom(src => src.A + src.B + src.C));

DotNetFiddle Example