Это должен быть прямой вопрос, но я что-то упустил.
У меня есть конфиг в autoMapper. Он должен отобразить 2 поля одного и того же исходного объекта и объединить их в 1 строку в целевом объекте. но это продолжает давать мне ошибки. Я быстро смоделировал это, чтобы показать ошибку, но я не уверен в правильном пути ее устранения.
System.ArgumentException: 'Expression' dest => dest.FullNameObj.FullName 'должно разрешаться в элемент верхнего уровня, а не в свойствах любого дочернего объекта. Вместо этого вы можете использовать ForPath, пользовательский распознаватель для дочернего типа или параметр AfterMap.
Имя параметра: lambdaExpression '
public class SourecObj
{
public string Firstname { get; set; }
public string Lastname { get; set; }
}
public class TargetObj
{
public string Names { get; set; }
public FullName FullNameObj { get; set; }
}
public class FullName
{
public string FullName { get; set; }
}
Отображение для конфигурации AutoMapper, как показано ниже.
cfg.CreateMap<SourceObj, TargetObj>()
.ForMember(dest => dest.FullNameObj.FullName, opt => opt.ResolveUsing(src =>
{
return src.Firstname + " " + src.LastName;
}))
Слишком сложно, я думаю, получается
.ForPath(dest => dest.FullNameObj.FullName, opt => opt.MapFrom(src => src.firstname+ " "+ src.lastname))