自动映射器 IEnumerable<something> 到 IEnumerable,<somethingelse>无需创建映射配置



我不能得到以下工作,其中数组是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);

相关内容

  • 没有找到相关文章

最新更新