First of all, English is not my mother tongue, so please excuse me.
Source Model:
public class Task
{
public int Id { get; set; }
public string Title { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
Destination Model:
public class Task2
{
public int Id { get; set;}
public string Title { get; set; }
public string UserName { get; set; }
}
Mapping:
CreateMap<Task, Task2>()
.ForMember(dest => dest.UserName, opt => opt.MapFrom(s => s.FirstName + " " + s.LastName))
.ForAllMembers(opt => opt.Condition((src, dest, srcMember) => srcMember != null));
And now, the problem is:
Task t = new Task(){
Id = 0,
Title = "blablabla",
FirstName = null,
LastName = null
}
Task2 t2 = new Task2(){
Id = 0,
Title = "blablabla",
UserName = "Foo Bar"
}
Task2 tt = Mapper.Map<Task, Task2>(t, t2);
After Mapping, the tt.UserName
will be Empty.
I want to keep the value of Task2.UserName
, but it seems doesn't work. How Can I do?