How can I create new fields with AutoMapper?

I want to create new fields and replace others when I map objects in C #, as I show below

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;

Please, any idea?

1 answer

  • answered 2019-06-11 23:10 Erik Philips

    Use an Inline Mapping;

    (PS your classes and properties should start with Uppercase)

    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