#c# #automapper
Вопрос:
У меня ниже классовая структура
public class Parent
{
public int ParentID { get; set; }
public string ParentName { get; set; }
public Child Child { get; set; }
}
public class ParentMap
{
public int ParentID { get; set; }
public string ParentName { get; set; }
public Child Child { get; set; }
}
public class Child
{
public int ChildID { get; set; }
public string ChildName { get; set; }
public InnerChild InnerChild { get; set; }
}
public class InnerChild
{
public int InnerChildID { get; set; }
public string InnerChildName { get; set; }
public Parent Parent { get; set; }
}
Я хочу сопоставить Parent
класс с ParentMap
классом. После сопоставления мне нужен Parent
Child
объект. Но мне не нужен Parent
Child.InnerChild
объект(его можно установить null
).
Я уже пробовал, ForPath()
как показано ниже. Но это остановит отображение всего Child
объекта.
CreateMap<Parent, ParentMap>()
.ForPath(o => o.Child.InnerChild, opt => opt.Ignore());
Может ли кто-нибудь сказать мне, как мне решить эту проблему.
Ответ №1:
Это один из быстрых способов решить вашу проблему
CreateMap<Parent, ParentMap>()
.AfterMap((src, dst) =>
{
dst.Child.InnerChild = null;
});
Комментарии:
1. Спасибо @Oignon_Rouge. Это работает 🙂