2017-06-02 53 views
3

我使用AutomapperCreateMissingTypeMaps选项设置为true。如果我尝试填充相同类型的现有对象,则不起作用。Automapper不填充目标对象

class A 
{ 
    public string X { get; set; } 
} 

var config = new MapperConfiguration(cfg => cfg.CreateMissingTypeMaps = true); 
var mapper = config.CreateMapper(); 
var a1 = new A { X = "sample" }; 
var a2 = new A(); 
mapper.Map(a1, a2); // a2.X was not set 

如果我创建同一类型的新对象,它工作正常

var a3 = mapper.Map<A>(a1); // a3.X is set 

如果我填一个不同类型的现有对象,它也可以

class B 
{ 
    public string X { get; set; } 
} 

var b = new B(); 
mapper.Map(a1, b); // b.X is set 

但如果我尝试填充同一类型的现有对象,则不会。是Automapper中的错误还是我错过了什么?

+1

它看起来像一个错误。你可能想在GitHub上创建一个问题。 https://github.com/AutoMapper/AutoMapper/issues –

+0

谢谢。添加了一个问题https://github.com/AutoMapper/AutoMapper/issues/2129 – Random

回答