1

AutoMapper <= 3.0 では、次のテストに合格します。

public class AutoMapperTest
{
    static Source source;
    static Destination destination;

    Establish context = () =>
        {
            Mapper.Configuration.AllowNullCollections = false;
            Mapper.CreateMap<Source, Destination>();

            source = new Source { Name = null, Data = null };
        };

    Because of = () => destination = Mapper.Map<Destination>(source);

    It should_map_name_to_null = () => destination.Name.ShouldBeNull();

    It should_map_array_to_empty = () => destination.Data.ShouldNotBeNull();
}

public class Source
{
    public string Name { get; set; }
    public string[] Data { get; set; }
}

public class Destination
{
    public string Name { get; set; }
    public string[] Data { get; set; }
}

バージョン 3.1 の時点で、destination.Data が以前のように空の配列ではなく null に設定されているため、should_map_array_to_empty アサーションは失敗します。構成されたマップごとに個別にではなく、できればグローバルに、以前の動作を復元する方法はありますか?

Mapper.Configuration.AllowNullCollections = falseこの場合、私が試した AutoMapper のバージョンに関係なく、構成オプションに違いはないようです。

4

0 に答える 0