繁体   English   中英

Automapper从列表映射到IEnumerable <Expression<Func<T1, object> &gt;&gt;

[英]Automapper map to IEnumerable from List<Expression<Func<T1, object>>>

我目前使用代码将匿名类型的地图属性映射

Mapper.CreateMap<T, CBoxItem>()
   .ForMember(m => m.Prop1, x => x.MapFrom(Prop1Source.Compile()));

 //followed by
 Mapper.Map(src, new List<CBoxItem>)

 //where  Prop1Source= Expression<Func<T, object>>

我想对道具来源的多个属性进行此操作-以下内容也可以工作

 Mapper.CreateMap<T, ListCboxItem>()
        .ForMember(m => m.Prop1, x => x.MapFrom(Prop1Source.Compile()));
        .ForMember(m => m.Prop2, x => x.MapFrom(Prop2Source.Compile()));

当我要映射PropXSource = List<Expression<Func<T1, object>>>且destination属性是IEnumerable遇到了问题。 我有点被困在那里。

我想遍历表达式并将表达式结果的映射添加到ienumerable属性。

这不是一个很好的答案,但是更简单的方法是不使用automapper进行更复杂的计算。 只需使用每个循环的嵌套手动复制即可。

因此,据我所知,为回答我的问题,不建议在这种情况下使用自动映射器。 我最终使用嵌套循环将属性从T手动复制到ListCboxItem

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM