我无法使用以下内容,其中array是CustomerContract的数组:
Mapper.Map<IEnumerable<Customer>>(array);
Mapper.Map<IEnumerable<CustomerContract>, IEnumerable<Customer>>(array);
Mapper.Map<Array, List<Customer>>(array);
Run Code Online (Sandbox Code Playgroud)
在我看来,第一个例子应该足够了,但我无法工作.我已经阅读了automapper的配置wiki(https://github.com/AutoMapper/AutoMapper/wiki/Configuration),但我不明白为什么这是必要的.Automapper所需的一切都在命令中定义.它是哪种类型(对象和它是一个列表),以及我希望它映射到哪个对象.
我只是不了解Automapper的核心概念?
我的例外听起来像这样:
缺少类型映射配置或不支持的映射.
映射类型:\ r \nCustomerContract - > Customer\r \nStimline.Xplorer.Repository.CustomerService.CustomerContract - > Stimline.Xplorer.BusinessObjects.Customer
目标路径:List`1 [0]
源值:Stimline.Xplorer.Repository.CustomerService .CustomerContract
Swe*_*ell 15
您正在映射到IEnumerable ... Automapper可以映射到具体类型而不是接口.
首先注册映射(请参阅"缺少类型映射配置或不支持的映射")为了提高性能,必须使用CreateMap一次
Mapper.CreateMap<something, somethingelse>();
Run Code Online (Sandbox Code Playgroud)
代替:
Mapper.Map<IEnumerable<Customer>>(array);
Run Code Online (Sandbox Code Playgroud)
试试这个:
Mapper.Map<List<Customer>>(array);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10008 次 |
| 最近记录: |