0

考虑两个实体类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 应该像红色的表格: CDTRACK模型

自动映射器映射:

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

吉米的建议为我指明了正确的方向......

为什么不将Track Entity 映射到CDTrackModel而不是将CD实体映射到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 回答