0
我是Automapper的新手,已經能夠處理大多數映射錯誤(除了這個之外)。一些無效參數與Automapper構建錯誤映射
當我將CaseInfo實體映射到CaseInfoEdit視圖模型時,我在我的(HTTPGET)Edit控制器方法中出現錯誤,該模型表示我在下面的代碼行上有一些無效參數。
var vModel = Mapper.Map<CaseInfo, CaseInfoEditViewModel>(editCase);
這種映射問題開始後,我包含在此CaseInfoRepository.Get()語句返回檢察長實體。該查詢的CaseInfo結果將與Attorney參考對象正確返回。
var editCase = unitOfWork.CaseInfoRepository.Get(c => c.CaseInfoID == id, includeProperties: "Attorney");
該視圖模型有一個外鍵AttorneyId和一個Attorney引用屬性,這就是爲什麼映射失敗我相信。 CaseInfo實體和CaseInfoViewModel都完全一樣。
public class CaseInfoEditViewModel
{
public int CaseInfoID { get; set; }
// a bunch of property sets and gets ...
public int AttorneyId { get; set; }
public virtual Attorney Attorney { get; set; }
在嘗試更正映射時,我添加了一個ForMember將源和目標設置爲Attorney引用屬性,這對映射問題沒有幫助。任何幫助正確的方式來映射引用屬性將不勝感激。
Mapper.CreateMap<CaseInfoEditViewModel, CaseInfo>()
.ForMember(dst => dst.AttorneyId, opt => opt.MapFrom(src => src.AttorneyId))
.ForMember(dst => dst.Attorney, opt => opt.MapFrom(src => src.Attorney))
.ForMember(dst => dst.CaseInfoID, opt => opt.Ignore());