I have below class structure
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; }
}
I want to map Parent
class with ParentMap
class. After mapping, I need Parent
's Child
object. But I don't need Parent
's Child.InnerChild
object(Its ok to set it to null
).
I've already tried with ForPath()
as below. But it will stop mapping entire Child
object.
CreateMap<Parent, ParentMap>()
.ForPath(o => o.Child.InnerChild, opt => opt.Ignore());
Can some one tell me how do I resolve this issue.
CodePudding user response:
This is one quick way to resolve your issue
CreateMap<Parent, ParentMap>()
.AfterMap((src, dst) =>
{
dst.Child.InnerChild = null;
});