我試圖將IEnumerable映射到List。我不知道如何讓它工作。這是我到目前爲止所嘗試過的。如何使用AutoMapper將IEnumerable映射到列表
我收到一個錯誤「成員的自定義配置只支持一個類型的頂級單個成員。」
Source: IEnumerable<Source>
Target: List<Target>
AutoMapper.Mapper.Map(sourceIEnum, TargetList);
Mapper.CreateMap<IEnumerable<Source>, List<Target>>()
.ForMember(f => f, mp => mp.MapFrom(
mfrom => mfrom.Select(s => AutoMapper.Mapper.Map(s, new Target())
).ToList())
);
Mapper.CreateMap<Source, Target>()
.ForMember(f => f.TargetPropertyA, mp => mp.MapFrom(mfrom => mfrom.FromA.Value))
.ForMember(f => f.TargetPropertyB, mp => mp.MapFrom(mfrom => mfrom.FromB.Value))
.ForMember(f => f.TargetPropertyC, mp => mp.MapFrom(mfrom => mfrom.FromC.Value))
.ForMember(f => f.InnerObjectTarget, mp => mp.MapFrom(
mfrom => mfrom.Select(s => AutoMapper.Mapper.Map(s, new InnerObjectTarget())
).ToList())
);
Mapper.CreateMap<SourceInner, TargetInner>()
.ForMember(f => f.TargetInnerPropA, m => m.MapFrom(source => source.InnerA))
.ForMember(f => f.TargetInnerPropB, m => m.MapFrom(source => source.InnerB))
.ForMember(f => f.TargetInnerPropC, m => m.MapFrom(source => source.InnerC));
列表中的數字1似乎不起作用,您錯過了該語法中的某些內容嗎?我正在返回IEnumerable ...(來源) – Choco
@Choco。請更具體一些。 –
query.Select(Mapper.Map)我只問你是否錯過了一些軟支架或其他東西,這些都是......重複檢查。正如我試圖獲得IEnumerable列表(源)轉換。 –
Choco