我不能得到以下工作,其中数组是CustomerContract的数组:
Mapper.Map<IEnumerable<Customer>>(array);
Mapper.Map<IEnumerable<CustomerContract>, IEnumerable<Customer>>(array);
Mapper.Map<Array, List<Customer>>(array);
在我看来,第一个例子应该足够了,但我不能让任何一个工作。我已经阅读了automapper的配置wiki (https://github.com/AutoMapper/AutoMapper/wiki/Configuration),但我不明白为什么这应该是必要的。Automapper需要的所有东西都在命令中定义。它是哪种类型(既是对象又是列表),以及我希望它映射到哪个对象。
我只是没有理解Automapper的核心概念吗?
我的例外听起来像这样:
缺少类型映射配置或不支持映射。
映射类型:rnCustomerContract -> Customerr nstimline . explorer . repository . customerservice。CustomerContract -> timeline . explorer . businessoobjects . customer
目标路径:List ' 1[0]
Source value:
映射到IEnumerable…Automapper可以映射到具体类型,而不是接口。
首先注册您的映射(请参阅"缺少类型映射配置或不支持的映射")为了提高性能,必须使用一次CreateMap
Mapper.CreateMap<something, somethingelse>();
代替:
Mapper.Map<IEnumerable<Customer>>(array);
试试这个:
Mapper.Map<List<Customer>>(array);
或
Mapper.Map<Customer[]>(array);