Automapper 映射数组列表
Automapper Mapping Arraylist
我有以下 class:
public class Response{
public string Result {get;set;}
public ArrayList Errors {get;set;}
}
和以下映射
cfg.CreateMap<ErrorMessage, Error>();
cfg.CreateMap<OriginalResponse, Response>()
.ForMember(d => d.Errors,
opts => opts.MapFrom(s => s.ErrorMessages));
在我的源代码中,ErrorMessages
是一个类型为 ErrorMessage
的数组。
我希望我的响应中的 Errors
ArrayList 为 Error
类型,但我的映射返回的是 ErrorMessage
类型的 ArrayList(原始类型)。
如何让 ArrayList 正确映射?
由于第 3 方系统的限制,我无法使用 Errors
类型的常规数组。
尝试
cfg.CreateMap<ErrorMessage, Error>();
cfg.CreateMap<ErrorMessage, object>().As<Error>();
这告诉AM,当你从ErrorMessage
映射到object
时(ArrayList
中没有元素类型信息),你实际上是指Error
。检查 the docs.
我有以下 class:
public class Response{
public string Result {get;set;}
public ArrayList Errors {get;set;}
}
和以下映射
cfg.CreateMap<ErrorMessage, Error>();
cfg.CreateMap<OriginalResponse, Response>()
.ForMember(d => d.Errors,
opts => opts.MapFrom(s => s.ErrorMessages));
在我的源代码中,ErrorMessages
是一个类型为 ErrorMessage
的数组。
我希望我的响应中的 Errors
ArrayList 为 Error
类型,但我的映射返回的是 ErrorMessage
类型的 ArrayList(原始类型)。
如何让 ArrayList 正确映射?
由于第 3 方系统的限制,我无法使用 Errors
类型的常规数组。
尝试
cfg.CreateMap<ErrorMessage, Error>();
cfg.CreateMap<ErrorMessage, object>().As<Error>();
这告诉AM,当你从ErrorMessage
映射到object
时(ArrayList
中没有元素类型信息),你实际上是指Error
。检查 the docs.