如何配置 AutoMapper 来展平 1:n 关系?
考虑两个实体类CD和Track:
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应该像红色表格一样:
Automapper 映射:
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 创建所需的映射?
Consider two entity classes CD and Track:
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;}
}
And consider the CDTrackModel:
public class CDTrackModel
{
public long CdId {get; set;}
public string CdName {get; set;}
public long TrackId {get; set;}
public string TrackName {get; set;}
}
And the GUI should be like the red table:
Automapper mappings:
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 ???
;
Is it possible to create the required mapping using AutoMapper ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Jimmy 的建议为我指明了正确的方向...
为什么不直接将 Track 实体映射到 CDTrackModel 而不是映射 CD 实体到CDTrackModel?
代码是:
The suggestion from Jimmy points me in the right direction...
Why not just map the Track Entity to the CDTrackModel instead of mapping the CD entity to the CDTrackModel?
The code would be: