時刪除所有陣列我有下面的類Automapper映射同一類
public class Unit
{
[JsonProperty("id")]
public string Id { get; set; }
[JsonProperty("unittype")]
public UnitType UnitType { get; set; }
[JsonProperty("name")]
public string Name { get; set; }
[JsonProperty("language")]
public string Language { get; set; }
[JsonProperty("managers")]
public List<Manager> Managers { get; set; }
[JsonProperty("logoURL")]
public string LogoURL { get; set; }
[JsonProperty("naceCodeList")
public List<string> NaceCodeList { get; set; }
[JsonProperty("tags")]
public List<string> Tags { get; set; }
[JsonIgnore]
public string JoinedTags => string.Join(",", Tags);
[JsonProperty("respondents")]
public List<Respondent> Respondents { get; set; }
[JsonProperty("childUnits")]
public List<Unit> ChildUnits { get; set; }
public string Parent { get; set; }
}
我也有我的BaseRepository的構造以下
Mapper.Initialize(cfg =>
{
cfg.CreateMap<Unit, Unit>();
});
我的問題是,當我在我的儲存庫,做Mapper.Map(unitToUpdate, unit);
它清空所有的List<whatever>
屬性。
這是默認行爲嗎?我在這裏做錯了什麼?
爲了完整起見,這是我的UpdateUnit功能
public void UpdateUnit(ClaimsPrincipal user, string orgId, Unit unitToUpdate)
{
var org = Get(user, orgId);
var unit = org.GetUnit(unitToUpdate.Id);
Mapper.Map(unitToUpdate, unit);
Update(user, org);
}
所存儲的對象是包含表示公司Unit
對象的分層結構另一類型。 org
對象是存儲在數據庫中的對象,表示org
對象的類具有它自己的函數,用於在其內部加載Unit
對象。
但它是同一類。我從單元映射到單元。它只是一個來自數據庫的新鮮事物,還有一個來自調用它的mvc控制器。 –
我真的不知道這個場景,因爲我沒有使用從/到同一個類的映射。我知道前一段時間有些問題與此有關,所以我避免了(例如:https://github.com/AutoMapper/AutoMapper/issues/656) –
也許最好還是創建一個github問題,因爲這是不好的沒有很好的文檔記錄,可以與我們在開發中選擇的一些內部路徑相關聯。 –