【发布时间】:2019-07-11 11:02:21
【问题描述】:
我的映射器中有以下行:
我正在尝试从一个模型(我有一个名为 Result 的属性)映射到一个模型,其中我有一个结果列表。
到目前为止,我有以下内容:
options.CreateMap<Contract.Dto.Result, List<Result>>(MemberList.Source).ConvertUsing<ResultConverter>();
internal class ResultConverter : ITypeConverter<Contract.Dto.Result, List<Result>>
{
public List<Result> Convert(Contract.Dto.Result source, List<Result> destination, ResolutionContext context)
{
destination.Add(context.Mapper.Map<Contract.Dto.Result, Result>(source));
return destination;
}
}
但是,在调试时,ResultConverter 永远不会被命中。 有人对如何从单个对象映射到对象列表有任何解决方案吗?此对象列表中只会有一个对象,但其他约束阻止我修改模型。
【问题讨论】:
-
如果列表中总是只有一个,为什么它是一个列表?您可以在 List
上将属性修改为 Result 吗? -
您使用的是哪个版本的自动映射器?
-
@lowry0031 不,我对更改模型无能为力。就是这样。
-
@andyb952 自动映射器版本 8.0.0
-
另外,您是否在您的 IOC 容器中注册了转换器(如果使用)?我今天会看看这个,因为实际上只是使用了一个转换器并且遇到了同样的问题,但它可以正常工作。
标签: c# automapper