AutoMapper不会在Nullable属性上映射Null值,为什么?

时间:2014-02-07 15:05:25

标签: c# .net automapper

这是一个用于说明问题的小代码段。

[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; }
}

为什么第一个断言失败?我希望结果上有一个空值。实际上,returnResultdestination都具有初始值。

1 个答案:

答案 0 :(得分:2)

尝试更新nuget包。

这已在issue #310中修复。实施更改的第一个版本是3.0.0