1
私は、次のクラスがあります。マッピング時に親プロパティを設定しますか?
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クラスでのみ検出されます。
guidをマッピング設定内に設定して、foreach
ブロックを避けることはできますか?