У меня есть следующие классы:Установить родительские свойства при сопоставлении?
public class ParentDto
{
public Guid Guid {get; set;}
public IEnumerable<Child> Children {get; set;}
public ParentDto() { Guid = Guid.NewGuid(); }
}
public class ChildDto
{
public Guid Guid {get; set;}
public Guid ParentGuid {get; set;}
public IEnumerable<GrandChild> GrandChildren {get; set;}
public ChildDto() { Guid = Guid.NewGuid(); }
}
public class GrandChildDto
{
public Guid Guid {get; set;}
public Guid ChildGuid {get; set;}
public GrandChildDto() { Guid = Guid.NewGuid(); }
}
отображение является просто:
Mapper.Initialize(cfg =>
{
cfg.CreateMap<ParentModel, ParentDto>().ReverseMap();
cfg.CreateMap<ChildModel, ChildDto>().ReverseMap();
cfg.CreateMap<GrandChildModel, GrandChildDto>().ReverseMap();
});
В настоящее время, я сначала сделать отображение, то я:
foreach (var child in parent.Children)
{
child.ParentGuid = parent.Guid;
foreach (var grandChild in child.GrandChildren)
{
grandChild.ChildGuid = child.Guid;
}
}
Это происходит потому, Guid
свойства находятся только в классах DTO.
Можно ли установить контуры в конфигурации отображения и избежать блока foreach
?