当我升级到Automapper 5.1.1时,使用readonly属性定义的集合的映射停止工作(使用Automapper 4.2.1完全正常)
以下是一个示例代码,您可以尝试使用两个版本的Automapper来验证行为更改。使用automapper 5.1.1 result.MyList没有元素。
class TestAutomapper
{
public static void Test()
{
Mapper.Initialize(cfg =>
{
cfg.CreateMap<Test, TestDto>();
});
var test = new Test();
test.MyList.Add(1);
var result= Mapper.Map<TestDto>(test);
}
}
public class Test
{
public List<int> MyList { get; } = new List<int>();
}
public class TestDto
{
public List<int> MyList { get; } = new List<int>();
}
如何使用Automapper 5.1.1让地图正常工作?
答案 0 :(得分:2)
使用版本4.2.1 ,它不适用于我们。它在 4.2.1 中为你工作很奇怪。
要使其与 AutoMapper 4.2.1 一起使用,我们必须明确告知如何将原始集合映射到目标集合。
CreateMap.Map<TestDto, Test>()
.ForMember(x => x.MyList, opt => opt.MapFrom(y => y.MyList));