0
다음은 문제를 설명하는 작은 코드 단편입니다.AutoMapper가 Nullable 속성에 Null 값을 매핑하지 않는 이유는 무엇입니까?
[TestMethod]
public void AutoMapper_MappingNullValue_ShouldMapNull()
{
//Arrange
var source = new DummySource { MyDate = null };
var destination = new DummyDestination { MyDate = DateTime.Now };
AutoMapper.Mapper.CreateMap<DummySource, DummyDestination>();
//Act
var returnResult = AutoMapper.Mapper.Map(source, destination);
//Assert
Assert.IsNull(returnResult.MyDate);
Assert.IsNotNull(destination.MyDate);
}
private class DummySource
{
public DateTime? MyDate { get; set; }
}
private class DummyDestination
{
public DateTime? MyDate { get; set; }
}
처음 어설 션에서 어떻게 실패합니까? 나는 결과에 널 값을 가질 것으로 예상했다. 사실 returnResult
과 destination
은 둘 다 초기 값을 갖습니다.
첫 번째 주장은 실패하지 않습니다. 두 번째 어설 션은'source'를'destination'에 매핑하기 때문에'destination.MyDate'가'null'이므로 실패 할 것입니다. 기존 객체를 보존하려면'var returnResult = AutoMapper.Mapper.Map (source);'를 사용하십시오. –
Romoku
@Romoku 혼자만의 것 http://imgur.com/KG0XJVj –
사용중인 AutoMapper 버전은 무엇입니까? 귀하의 코드는 나를 위해 잘 작동합니다. – sloth