gpt4 book ai didi

c# - Automapper IEnumerable 到 IEnumerable 无需创建映射配置

转载 作者:太空狗 更新时间:2023-10-29 22:13:46 26 4
gpt4 key购买 nike

我无法使以下内容正常工作,其中数组是 CustomerContract 的数组:

Mapper.Map<IEnumerable<Customer>>(array);

Mapper.Map<IEnumerable<CustomerContract>, IEnumerable<Customer>>(array);

Mapper.Map<Array, List<Customer>>(array);

在我看来,第一个例子应该足够了,但我无法让任何一个工作。我已经阅读了 automapper ( https://github.com/AutoMapper/AutoMapper/wiki/Configuration ) 的配置 wiki,但我不明白为什么这是必要的。Automapper 需要的一切都在命令中定义。它是哪种类型(既是对象又是列表),以及我希望它映射到哪个对象。

我是不是不理解 Automapper 的核心概念?

我的异常听起来是这样的:

Missing type map configuration or unsupported mapping.
Mapping types:\r\nCustomerContract -> Customer\r\nStimline.Xplorer.Repository.CustomerService.CustomerContract -> Stimline.Xplorer.BusinessObjects.Customer
Destination path: List`1[0]
Source value: Stimline.Xplorer.Repository.CustomerService.CustomerContract

最佳答案

您正在映射到 IEnumerable...Automapper 可以映射到具体类型而不是接口(interface)。

首先注册您的映射(参见“缺少类型映射配置或不支持的映射”)为了性能你必须使用一次 CreateMap

Mapper.CreateMap<something, somethingelse>();

代替:

Mapper.Map<IEnumerable<Customer>>(array);

试试这个:

Mapper.Map<List<Customer>>(array);

Mapper.Map<Customer[]>(array);

关于c# - Automapper IEnumerable<something> 到 IEnumerable<somethingelse> 无需创建映射配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24155897/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com