我正在使用这个 Using DynamicMap() and ignore null source value使映射器忽略源上具有 NULL 值的属性的方法,但这似乎在版本 2.1.267.0(当前)中不起作用。
这是我的映射配置:
Mapper.CreateMap<PersonDTO, Person>().ForAllMembers(
opt => opt.Condition(srs => !srs.IsSourceValueNull));
这是我的测试:
// Arrange
var Person = new Person { FirstName = "Bruce", Surname = "Lee"};
var PersonDto = new PersonDTO { FirstName = "Jet", Surname = null };
// Act
Mapper.Map(PersonDto, Person);
// Assert
Assert.AreEqual("Jet", Person.FirstName); // Assert.AreEqual failed. Expected:<Jet>. Actual:<Bruce>.
Assert.AreEqual("Lee", Person.Surname, "Surname field with NULL value should not have been mapped");
它对你有用吗?如果是这样,您能在我的代码中发现问题吗?
这应该在 AutoMapper 2.2 版中得到修复
我是一名优秀的程序员,十分优秀!