IEnumerable的CreateMap

时间:2017-09-13 19:26:05

标签: c# automapper

我有一个自动播放器配置文件,在与高级开发人员合作时,他给了我一个指针,为IEnumerable做一个创建地图,我得到了一些编码,但现在我被卡住了。

我试过这个

CreateMap<IEnumerable<BusinessInfo>, IEnumerable<AdminViewModel.Account>>().ForAllMembers(i => i.Ignore());
CreateMap<IEnumerable<BusinessInfo>, IEnumerable<AdminViewModel.Account>>()
                .ForMember(i => i.COMPANY, opt => opt.MapFrom(p => p.Company))

但公司存在错误,因为它没有包含公司的定义...... 我想我错过了一些东西,但我不确定它是什么。

1 个答案:

答案 0 :(得分:1)

为什么要映射IEnumerable<Type>? 它之所以不包含Company的定义,是因为它是一个集合。

您可以为BusinessInfoAdminViewModel.Account制作地图。

Mapper.CreateMap<BusinessInfo, AdminViewModel.Account>()... // do your usual or w/e custom mapping you want.

然后你会做一些像......

var adminAccountViewModel = Mapper.Map<IEnumerable<BusinessInfo>, IEnumerable<AdminViewModel.Account>>(businessInfo);