public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
public string Address { get; set; }
public string Email { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string Address { get; set; }
public string Email { get; set; }
public static void Main()
Mapper.CreateMap<Person, PersonVM>().ForMember(dest=>dest.Name, opt => opt
.ResolveUsing<NameResolver>().ConstructedBy(() => new NameResolver()) );
var person = new Person { FirstName="Amal" , LastName = "Dev", Age=10, Email = "test@test.com", Address="Test Address" };
var personVM = Mapper.Map<PersonVM>(person);
Console.WriteLine("\nperson.FirstName : {0} \nperson.LastName : {1} \nperson.Age : {2} \nperson.Address : {3} \nperson.Email : {4}", person.FirstName, person.LastName, person.Age, person.Email, person.Address);
Console.WriteLine("\npersonVM.Name : {0} \npersonVM.Age : {1} \nperson.Address : {2} \nperson.Email : {3}", personVM.Name, personVM.Age, personVM.Email, personVM.Address);
public class NameResolver : ValueResolver<Person,string>
protected override String ResolveCore(Person source)
return String.Concat(source.FirstName ," ",source.LastName);