You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AutoMapper单个对象映射正常 直接映射List集合无数据如何解决

问题原因

你调用映射方法时的泛型参数填反了,mapper.Map<T>()的泛型T指代的是映射后的目标类型,你当前的写法是把List<Car>类型的源数据再映射成List<Car>,和你要接收的List<CarVM>类型不匹配,AutoMapper找不到对应映射逻辑就返回了空集合,所以AddRange操作没有数据写入。

修复方案

把集合映射的代码改成如下写法即可:

vmList.AddRange(mapper.Map<List<CarVM>>(cars));

额外优化建议

  • AutoMapper原生支持集合类型的自动映射,只要你配置了单个元素的映射规则CreateMap<Car, CarVM>(),不需要额外声明List<Car>到List<CarVM>的映射,Profile里这两行冗余配置可以直接删除。
  • 你提供的foreach示例代码存在两处笔误:遍历声明的变量是car,映射时却用了未定义的item;且映射目标泛型写反成了Car,实际可运行的写法应该是vmList.Add(mapper.Map<CarVM>(car)),和本次集合映射的问题属于同一类逻辑错误。

内容的提问来源于stack exchange,提问作者user1765862

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 17:15:02