0

2 つのエンティティ クラスCDTrackを考えてみましょう。

public class CD
{
    public long Id {get; set;}
    public string Name {get; set;}
    public IList<Track> Tracks {get; set;}
}

public class Track
{
    public long Id {get; set;}
    public string Name {get; set;}
    public CD CD {get; set;}
}

そしてCDTrackModel を考えてみましょう:

public class CDTrackModel
{
    public long CdId {get; set;}
    public string CdName {get; set;}
    public long TrackId {get; set;}
    public string TrackName {get; set;}
}

GUI は赤いテーブルのようになります。 CDトラックモデル

オートマッパー マッピング:

Mapper.CreateMap<CD, CDTrackModel>()
.ForMember(vm => vm.CDId, o => o.MapFrom(m => m.Id)
.ForMember(vm => vm.CDName, o => o.MapFrom(m => m.Name)
// How to map the Tracks ???
;

AutoMapper を使用して必要なマッピングを作成することは可能ですか?

4

1 に答える 1

1

ジミーからの提案は私を正しい方向に向けています...

CDエンティティをCDTrackModelにマッピングするのではなく、TrackエンティティをCDTrackModelにマッピングしないのはなぜですか?

コードは次のようになります。

Mapper.CreateMap<Track, CDTrackModel>()
.ForMember(vm => vm.TrackId, o => o.MapFrom(m => m.Id)
.ForMember(vm => vm.TrackName, o => o.MapFrom(m => m.Name)
.ForMember(vm => vm.CDId, o => o.MapFrom(m => m.CD.Id)
.ForMember(vm => vm.CDName, o => o.MapFrom(m => m.CD.Name)
;
于 2011-08-23T20:46:46.193 に答える