AutoMapper 5.0.0为CreateMap引发异常

时间:2016-07-05 19:42:42

标签: c# automapper

我更新到AutoMapper 5.0.0并在Automapper尝试创建地图时获得异常。

以下示例抛出类似的异常{“类型'表达式'System.Collections.Generic.IEnumerable`1 [DTOClass]'不能用于赋值类型'System.String'”}

class Program
{

    static void Main(string[] args)
    {
        Console.WriteLine("Start");
        Mapper.Initialize(cfg =>
        {
            cfg.CreateMap<string, IEnumerable<DTOClass>>().ConvertUsing(src =>
            {
                var response = JsonConvert.DeserializeObject<AnotherClass>(src);
                return response?.TestClasses == null ? null : Mapper.Map<IEnumerable<DTOClass>>(response.TestClasses);
            });
            cfg.CreateMap<TestClass, DTOClass>();
        });
        Console.WriteLine("Done");
    }
}


public class DTOClass
{
    public string Title { get; set; }
}

public class AnotherClass
{
    public TestClass[] TestClasses { get; set; }
}

public class TestClass
{
    public string Title { get; set; }
}

1 个答案:

答案 0 :(得分:0)

我在AutoMapper Github上提出了这个问题。它已在AutoMapper的后续版本中得到解决,可以使用MyGet构建进行验证。 https://github.com/AutoMapper/AutoMapper/issues/1460