簡體   English   中英

AutoMapper不會將源映射到目標

[英]AutoMapper doesn't map source to a destination

我不知道為什么,在某些時候AutoMapper不會將源映射到目標對象。

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

userToUpdate不會使用userToImport中的新值更新。 result是正確的映射結果對象。 但是resultuserToUpdate是不同的對象。

主要問題是,為什么userToUpdate沒有更新?

您必須先創建一個地圖,否則它將不會更新並返回destination參數的對象。

 Mapper.CreateMap<User, User>();

您需要執行以下操作:

public class User
{
    public int Property1 { get; set; }
    public int Property2 { get; set; }

    public override bool Equals(object obj)
    {
        if (!(obj is User))
            return false;
        else
        {
            Usero = obj as User;
            return o.Property1 == this.Property1 && o.Property2 == this.Property2;
        }

    }
}

之后,您可以執行obj1.Equals(obj2);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM