我在Github上找到了这个链接,它显示了当内部地图嵌套在外部地图中时如何设置映射器配置。
https://github.com/AutoMapper/AutoMapper/wiki/Nested-mappings
然而,这并不适合我,因为我有点不同:我的public class A
{
public virtual void methodA()
{
}
}
public class B : A
{
public void methodB()
{
var ClassA = new A();
}
public override void methodA()
{
//Do stuff
}
}
对象实际上是Inner
Collection
,
即
InnerSource
和
public class OuterSource
{
public int Value { get; set; }
public Collection<InnerSource> Inners { get; set; }
}
public class InnerSource
{
public int OtherValue { get; set; }
}
链接中的解决方案为此代码创建了MapperConfiguration
public class OuterDest
{
public int Value { get; set; }
public Collection<InnerDest> Inners { get; set; }
}
public class InnerDest
{
public int OtherValue { get; set; }
}
但是当我运行它时,我得到一个AutoMapperMappingException
(内部例外=
var config = new MapperConfiguration(cfg => {
cfg.CreateMap<OuterSource, OuterDest>();
cfg.CreateMap<InnerSource, InnerDest>();
});
// setup object data
var mapper = config.CreateMapper();
var dest = mapper.Map<OuterSource, OuterDest>(source);
)
如何创建这样的嵌套映射,但内部对象是Collection?注意我的实际情况比上面提供的代码(有几个Argument 'value' must not be null.
Parameter name: value
调用)