AutoMapper 不会将源映射到目的地

And*_*rei 1 .net c# automapper

我不知道为什么,在某些时候 AutoMapper 不会将源映射到目标对象。

   var result = Mapper.Map<User, User>(userToImport, userToUpdate);
   var areEquals = result == userToUpdate; //FALSE !!! Why?
   var areEquals2 = result.Equals(userToUpdate); //FALSE !!! Why?
Run Code Online (Sandbox Code Playgroud)

userToUpdate未使用 userToImport 中的新值进行更新。result 是映射的正确结果对象。但resultuserToUpdate是不同的对象。

主要问题是,为什么userToUpdate不更新?

Ale*_*lex 5

您必须首先创建一个地图,否则它将不会更新并返回目标参数的对象。

 Mapper.CreateMap<User, User>();
Run Code Online (Sandbox Code Playgroud)

  • 事实证明这是真的。我有点惊讶的是,当未创建映射时,AM 不会抛出异常。 (2认同)