我有一个我从未遇到的奇怪问题。
我有2个班级:
父类:
public class ParentClass
{
private int? _clientType;
internal int? Client_Type_
{
get { return _clientType; }
set { _clientType = value; }
}
public string Company_Name{ get; set; }
public string Client_Type
{
get { return MyDictionary[_clientType.GetValueOrDefault(0)];
}
}
儿童班:
public class ChildClass : ParentClass
{
public string Full_Name { get; set; }
}
我正在我的Unity IoC容器中定义映射:
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap<ParentClass, ChildClass>();
}
IMapper mapper = config.CreateMapper();
container.RegisterInstance(mapper);
在我的代码中,我正在映射:
var parentClass = GetParentClass();
var mappedClass = _mapper.Map<ChildClass>(parentClass);
奇怪的是......我可以检查parentClass的值,并且我最初传递给我的模型(parentClass)的所有值都在那里。但是,当它映射到新对象(childClass)时 - 公司名称粘贴...但_clientType和Client_Type_为空(最终影响Client_Type)。
有关我做错的任何建议吗?
答案 0 :(得分:1)
如果您使用的是AutoMapper,则必须将初始化程序中的ShouldMapProperty设置为适当的值。
这样做是这样的:
Long.valueOf