我更新到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; }
}
答案 0 :(得分:0)
我在AutoMapper Github上提出了这个问题。它已在AutoMapper的后续版本中得到解决,可以使用MyGet构建进行验证。 https://github.com/AutoMapper/AutoMapper/issues/1460