C# 使用automapper更新目标对象,并将可为null的类型属性值设置为null
似乎源中的可空类型属性被忽略,而不是复制到目标 考虑以下类别:C# 使用automapper更新目标对象,并将可为null的类型属性值设置为null,c#,automapper,automapper-2,C#,Automapper,Automapper 2,似乎源中的可空类型属性被忽略,而不是复制到目标 考虑以下类别: 公共类源代码 { 公共int?测试{get;set;} } 公务舱目的地 { 公共int?测试{get;set;} } 映射: Mapper.CreateMap(); var source=new source(){Test=1}; var destination=新目的地(); Mapper.Map(源、目的地); Assert.AreEqual(source.Test、destination.Test)//真的 source.
公共类源代码
{
公共int?测试{get;set;}
}
公务舱目的地
{
公共int?测试{get;set;}
}
映射:
Mapper.CreateMap();
var source=new source(){Test=1};
var destination=新目的地();
Mapper.Map(源、目的地);
Assert.AreEqual(source.Test、destination.Test)//真的
source.Test=null;
Mapper.Map(源、目的地);
Assert.AreEqual(source.Test、destination.Test)//false(null,1)
当我使用:
Mapper.CreateMap()
.ForMember(m=>m.Test,o=>o.ResolveUsing(m=>m.Test));
但我不想按属性设置,你能全局设置吗?或者有其他方法来实现这一点吗?似乎为每个可为空的类型创建映射到其自身,如下所示:
Mapper.CreateMap()
.转换使用(v=>v);
似乎起到了修复作用。但我更希望有一个包含所有可为空类型的完整解决方案,然后逐个指定它们。容易错过一些东西 谢谢。这解决了我的问题。但对我来说,这似乎是一个汽车制造商的错误。