Automapper - 包含“null”和初始化对象的地图集合

时间:2014-02-03 13:43:04

标签: c# automapper

我有以下情况。我将类的列表映射到另一个名称空间中的相同类的列表。在原始列表中,某些对象可能为null,某些对象可能已正确初始化。 映射时,我收到此列表的AutoMapper.AutoMapperMappingException。 每当我使用全部为null的对象或全部初始化的对象填充列表时,映射都可以正常工作。

我用来重现此问题的示例程序:

using System.Collections.Generic;
using AutoMapper;
using AutomapperTest.Namespace1;

namespace AutomapperTest.Namespace1
{
    public class Identifier
    {
        public string Id { get; set; }
    }
}

namespace AutomapperTest.Namespace2
{
    public class Identifier
    {
        public string Id { get; set; }
    }
}

namespace AutomapperTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Mapper.CreateMap<Identifier, Namespace2.Identifier>();
            Mapper.AssertConfigurationIsValid();

            var identifierList = new List<Identifier>
                {
                    null,
                    new Identifier()
                };

            var mappedList = Mapper.Map<List<Namespace2.Identifier>>(identifierList);
        }
    }
}

有没有人知道使这种映射成功的解决方案?我期待一个包含2个Namespace2.Identifier对象的列表,其中一个对象为null,与源集合完全相同。

0 个答案:

没有答案